完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
(五)从上面两点来看,一个中文占据两个数据,也就是说当我们发送“你好”给单片机时候实际中断了四次,接收到的数据分别为0xc4,0xe3,0xba,0xc3 那么我们就可以通过接收到的数据来将数据转化成为中文了,搜索GB2312表可以知道对应的“你” = 0xe3c4;; “好” = 0xc3ba 也就是两位对应一个中文嘛,那么如何将0xc4,0xe3合成0xe3c4;;将0xba,0xc3合成0xc3ba,然后将数据转化成为字符形式就可使转化成为中文了 (六)通过C语言的方法来进行上面四个数据转化成为中文,我用的是VS中的C++来编译的,哪里都可以定义数组那些,如果出错请自行修改将定义放到前面来。 #include #include using namespace std; char *Chinese(int table[],char length,char str[]); /*将数据放进去得到字符出来*/ int convert_data(int table[2]); void main(void) { /*GB2312,你的代码是0xe3c4,好的代码是0xc3ba,具体的可以使用软件Hex Editor来看看*/ int test1[] = {0xe3c4}; /*你*/ printf("%srn",test1); int test2[] = {0xc3ba}; /*好*/ printf("%srn",test2); /*单片机发送或者接收到“你好”,会得到下面四个数据,将下面四个数据转换成中文“你好”*/ int table[4] = {0xc4,0xe3,0xba,0xc3}; char str[100]; /*输入数组 长度 返回保存地址*/ char *str4 = Chinese(table,4,str); printf("%srn",str4); } int convert_data(int table[2]) /*接收的两个数据转换成为一个数据*/ { return (table[1] << 8)|table[0]; } char *Chinese(int table[],char length,char str[]) /*将数据放进去得到字符出来*/ { int i = 0; int data1[1]; char data2[100]; data1[0] = (table[i + 1] << 8)|table; sprintf(data2,"%s",data1); strcpy(str,data2); /*先取第一个中文先*/ for(i = 2;i < length; i = i + 2) { data1[0] = (table[i + 1] << 8)|table; /*将0xc4,0xe3弄成0xe3c4,将0xba,0xc3换成0xc3ba*/ sprintf(data2,"%s",data1); strcat(str,data2); } return str; } (七)STM32串口接收中文 (1)资料下载:https://download.csdn.net/download/xiaoguoge11/10804315 (2)视频演示:https://v.qq.com/x/page/g0800sirmx3.html (3)更多资料下载,关注公众号:luxiaoguogege |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1641 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1562 浏览 1 评论
988 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
691 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1608 浏览 2 评论
1869浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
655浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
525浏览 3评论
541浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
514浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 05:01 , Processed in 0.757651 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号