良晨美景 发表于 2024-3-5 08:28:59

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

STC8H在PIO+SDCC编译环境下,开辟数组想接收或存储数据为0时,出现接收到0,数组就不再接收了。估计是SDCC编译器遇0就认为结束了。将接收数据由0改1,便可完整接收一帧数据,详见下图。求教数组如何存0?

kksk 发表于 2024-3-5 10:38:48

请添加你的相关代码。

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

良晨美景 发表于 2024-3-5 13:08:46

kksk 发表于 2024-3-5 10:38
请添加你的相关代码。

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

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

良晨美景 发表于 2024-3-5 13:12:59

良晨美景 发表于 2024-3-5 13:08
谢谢回复。
直接将接收数组作为形参传到printf_small函数打印,代码见下

接收中断部分

大锤子 发表于 2024-3-7 14:59:49

你试一下收到一个字节打印一个字节。先确定确实收到了全部字节?

良晨美景 发表于 2024-3-8 08:24:24

大锤子 发表于 2024-3-7 14:59
你试一下收到一个字节打印一个字节。先确定确实收到了全部字节?

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

不是值得一提的是,之前也试了Uart_Send函数逐个发送,当时的结果是,
遇0的位置变成AA重新接收了一次。
页: [1]
查看完整版本: 求教关于STC8H在PIO+SDCC编译环境下,数组存0事宜