本帖最后由 challenger 于 2017-4-1 18:06 编辑
刚从51转型m3的,以前想把串口数据从表中读取直接如下:
u8 xdata[]=Table[]={0xff,0xfe,0x20,0x20,0x20,0x20,0x20,0x20,0x01,0xfd,0xfc,};
然后读表如下:
u8 i;
for(i=0;i<11;i++)
{
Uart(table);
}
就可以了。
可现在M3突然printf,sprintf。。。不会用。
我想用M3输出以上表中数据:只能用sprintf((char*)p1,"数据:%x,%x,%x,%x,%x,%x,%x,%x,%x,%x,%x",TB1[0],TB1[1],TB1[2],TB1[3],TB1[4],TB1[5],TB1[6],TB1[7],TB1[8],TB1[9],TB1[10]);可TB1[0]到TB1[10]太长了,如何用sprintf((char*)p1,"数据:%x“,X函数)搞定?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
USART1->DR =DR=table[i];
while((USART1->SR&0X40)==0);//循环发送,直到发送完毕
替换你的Uart函数即可。
identifier "DR" is undefined 编译出来一个DR未定义呀!
原子哥,DR未定义是什么原因?数据寄存器名字不对,还是包含文件没包含进来?找了半天,没找出来。
原子哥,DR未定义是什么原因?数据寄存器名字不对,还是包含文件没包含进来?找了半天,没找出来。
原子哥,去掉一个DR就不报了。
USART1->DR =table;
while((USART1->SR&0X40)==0);
一周热门 更多>