找回密码
 立即注册
查看: 1338|回复: 5

求教关于STC8H在PIO+SDCC编译环境下,数组存0事宜

[复制链接]

4

主题

18

回帖

895

积分

高级会员

积分
895
发表于 2024-3-5 08:28:59 | 显示全部楼层 |阅读模式
STC8H在PIO+SDCC编译环境下,开辟数组想接收或存储数据为0时,出现接收到0,数组就不再接收了。估计是SDCC编译器遇0就认为结束了。将接收数据由0改1,便可完整接收一帧数据,详见下图。求教数组如何存0?
截图202403050827318482.jpg

数据不含0,接收完整

数据不含0,接收完整
回复

使用道具 举报 送花

9

主题

320

回帖

4523

积分

荣誉版主

积分
4523
发表于 2024-3-5 10:38:48 | 显示全部楼层
请添加你的相关代码。

你是使用printf %s输出、在串口工具中使用十六进制显示接收内容吗,C语言中字符串确实是将\0视为结尾的,可以改为循环输出%c
回复

使用道具 举报 送花

4

主题

18

回帖

895

积分

高级会员

积分
895
 楼主| 发表于 2024-3-5 13:08:46 | 显示全部楼层
kk*** 发表于 2024-3-5 10:38
请添加你的相关代码。

你是使用printf %s输出、在串口工具中使用十六进制显示接收内容吗,C语言中字符串确 ...

谢谢回复。
直接将接收数组作为形参传到printf_small函数打印,代码见下

串口接收数据完成后,进入这里

串口接收数据完成后,进入这里
回复

使用道具 举报 送花

4

主题

18

回帖

895

积分

高级会员

积分
895
 楼主| 发表于 2024-3-5 13:12:59 | 显示全部楼层
良晨*** 发表于 2024-3-5 13:08
谢谢回复。
直接将接收数组作为形参传到printf_small函数打印,代码见下

接收中断部分

接收中断部分

接收中断部分
回复

使用道具 举报 送花

44

主题

236

回帖

4425

积分

论坛元老

积分
4425
发表于 2024-3-7 14:59:49 | 显示全部楼层
你试一下收到一个字节打印一个字节。先确定确实收到了全部字节?
不争是争
回复

使用道具 举报 送花

4

主题

18

回帖

895

积分

高级会员

积分
895
 楼主| 发表于 2024-3-8 08:24:24 | 显示全部楼层
大*** 发表于 2024-3-7 14:59
你试一下收到一个字节打印一个字节。先确定确实收到了全部字节?

谢谢高手的回复,再次使用最基本的Uart_Send函数逐个发送,是接收全了。

不是值得一提的是,之前也试了Uart_Send函数逐个发送,当时的结果是,
遇0的位置变成AA重新接收了一次。
截图202403080822266032.jpg
回复

使用道具 举报 送花

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

GMT+8, 2026-11-8 01:19 , Processed in 0.071979 second(s), 67 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表