ucosii中使用串口发送数据不正确的问题

2019-07-21 03:51发布

我在一个任务中调用串口发送数据的函数,为什么我用串口助手接收到的不正确呢,下面是我发送函数,请大家帮忙看看,我测试几组数据是:
发送1,接受到的是06;
发送2,接受到的是18;
发送3,接受到的是1E;
发送4,接受到的是60;
发送5,接收到的是66;
[mw_shl_code=c,true] /*发送一个字节数据,我这里发的是数字1用于测试*/ void usart_sendbit(u8 tt) { u8 i,t; u8 buf[5]={1,2,3,4,5}; t=tt; USART1->DR=1; while((USART1->SR&0X40)==0);//等待发送结束 } [/mw_shl_code] [mw_shl_code=c,true]/*这是发送数据的任务*/ void TaskPanDuan(void *pdata) { u8 ma; while(1) { ma=1; usart_sendbit(ma); OSTimeDlyHMSM(0,0,5,0); } } [/mw_shl_code]

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
正点原子
1楼-- · 2019-07-21 05:30
回复【6楼】紫砂冰茶:
---------------------------------
说明你波特率设置错了。
正点原子
2楼-- · 2019-07-21 10:43
试试不用os
紫砂冰茶
3楼-- · 2019-07-21 14:49
回复【2楼】正点原子:
---------------------------------
不用os的发送没有问题,发送函数是一样的。
styleno1
4楼-- · 2019-07-21 16:15
 精彩回答 2  元偷偷看……
紫砂冰茶
5楼-- · 2019-07-21 17:25
回复【4楼】styleno1:
---------------------------------
串口初始化就用的自带的串口例程的初始化,波特率设置的为9600,应该没有问题啊。
紫砂冰茶
6楼-- · 2019-07-21 18:15
回复【4楼】styleno1:
---------------------------------
解决了,串口助手的波特率设置为4800就能正确接受了,但是我的程序里明明设置的波特率是9600啊,这是为什么呢?

一周热门 更多>