关于串口发送函数的问题

2019-07-22 16:29发布

本帖最后由 djz1992 于 2016-5-12 15:36 编辑

我之前用过的这个GPRSsend函数发送unsigned int a【4】这个数组,是可以的
3.jpg
最近我在用显示屏的时候需要发送一个字符串“SBC(52);DS16(50,20,'???V',4,0); ”,
用sprintf(buf,"SBC(52);DS16(50,20,'%.3fV',4,0); ",vlotage);来把float的电压值变作一个字符串,放到buf数组里
但是出现报错
1.jpg
就算我把buf写成固定的四个数的数组,还是不可以,这是为什么呢?
2.jpg

问题
1.如上
2.直接发送一个字符串该怎么写?UART_Send("12345",5)   这样吗?




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
11条回答
djz1992
2019-07-23 16:39
本帖最后由 djz1992 于 2016-5-13 08:37 编辑
dirtwillfly 发表于 2016-5-12 17:17
楼上说的是。
你注意一下UARTCharPut这个函数,好像在发送完毕之前是不会返回的。
发送字符串也可以考虑用U ...
这是我的报错 111.jpg
UARTcharput和UARTCharPutNonBlocking()的区别就是后者有返回是否正确存入fifo,有true和false的返回值,其他没什么区别。也许我可以用UARTCharPutNonBlocking()来看看是不是返回的false
void UARTCharPut(uint32_t ui32Base,unsigned char ucData),这是函数的申明,为什么我用  *数组名++  这样的表达方式会报错?
*不是取值么?数组名不是首地址么,*数组名,不就是取出的一个unsigned char的值么,为什么报错呢


一周热门 更多>