历史上的今天
今天是:2024年10月16日(星期三)
2019年10月16日 | 单片机C语言 串口传输 结构体
2019-10-16 来源:eefocus
串口传输 结构体 就是 把结构体 转换为 数组 ,然后传输 数组中的 char。
即 struct - - - - - - ->> char [ ] ;
然后 char[ ] - - - -- - - - -->> struct .
给出一下简单实例代码 :
#include #include /*--------------------------start file---------------------------------*/ typedef struct { int id; char name[10]; int score; }student; int struct_array(char* des, student *src) { int num; char *temp = (char *) src ; for(num=0;num return num; } void array_struct(student * des ,char * src) { char* temp = (char *) des; int num; for(num=0 ;num < sizeof(student);num++) *(temp++)= src[num] ; } void show_student(student * name) { printf("id is : %dn",name->id); printf("name is : %sn",name->name); printf("score is : %d n",name->score); } void show_array(char *str ,int len ) { printf("len is : %d n" ,len); while(len--) { putchar('|'); putchar(*str++); } printf("|n"); } int main() { char name[10] ="laomao"; student laomao = { 123 , {"laomao"} , 99 } ; char save[100] ; int len ; student * answer; len = struct_array(save, &laomao) ; show_array(save , len); array_struct(answer , save) ; show_student(answer); show_student(&laomao); return 0; } /*---------------------------end file----------------------------------*/ 运行结果: ------------------------------------------------------- len is : 20 |{| | | |l|a|o|m|a|o| | | | | | |c| | | | id is : 123 name is : laomao score is : 99 id is : 123 name is : laomao score is : 99 ---------------------------------------------------------------
下一篇:不同波特率传输时间计算
史海拾趣
|
电阻:RES1,RES2,RES3,RES4;封装属性为axial系列 无极性电容:cap;封装属性为RAD-0.1到rad-0.4 电解电容:electroi;封装属性为rb.2/.4到rb.5/1.0 电位器:pot1,pot2;封装属性为vr-1到vr-5 &nbs ...… 查看全部问答> |
|
求教各位大虾 DIY钳形表 小电流信号放大 我现在正在DIY一个钳形电流表 目标参数是测量mA至十安级电流 传感器是买的钳形表表头 前期测试了表头的工作曲线 在温湿度允许范围内 表头的线性度比较好 让我郁闷的是 变比 ...… 查看全部问答> |
|
我在我得2440 的BSP减了 camera,SDHC,wavedev 三个驱动, 采用的是在 dirs 中把 camera,sdhc,wavedev删除,然后对BSP Rebuild, Error: Could not find file \'C:\\WINCE600\\OSDesigns\\OSDesign1\\OSDesign1\\RelDir\\smdk2440a_ARMV4I_Debug\\o ...… 查看全部问答> |
|
菜鸟求助:一份正常的BSP我的电脑编译出来的系统无法正常运行? OMAP3530 + WinCE6 R3 由于项目开始时是基于一个较早版本的BSP,现在打算更新到TI的最新BSP. 更新才刚刚开始一点,就被卡住了.先把屏的参数拷过来,屏可以正常显示,发现触摸屏没用,然后就拷过来触摸屏的一些参数,发现还是没用. 然后就开始分析了: ...… 查看全部问答> |
|
引言 无线充电技术经过了数年的推广与演进后,到如今终于开始受到人们的关注。无线充电是指具有电池的装置透过无线感应的方式取得电力而进行充电,正是因为其方便性,才得以让消费者愿意支付额外的费用购买无线充电相关产品;如此一来,大批厂 ...… 查看全部问答> |
|
我想这样编程序:有2段程序,分别叫“程序1”、“程序0”。里面均包括多个函数。 我希望在这种情况下,执行程序1,另种情况下执行程序2。 我是这样做的: 一、程序开头写上: uint8_t x; #define cons x 二、程序中有赋值语句: 在按下某键 ...… 查看全部问答> |
|
麻烦管理员请注意:我不参加SensorTag大赛了,别给我寄了 麻烦管理员请注意:我不想参加SensorTag有奖赛了,别给我寄了 不好弄 转玩别的了 别给我寄SensorTag了 ,别浪费。… 查看全部问答> |




