OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2902|回复: 5

串口发送大于0x80的数出问题

[复制链接]

2

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-10-13
在线时间
6 小时
发表于 2018-10-29 11:50:19 | 显示全部楼层 |阅读模式
5金钱
使用库函数  int main(void){       USART_Config();
        USART_SendData(USART1,0x81)
        while (1);
}
问题为,按一次reset没反应,按第二次出现两个0x81

而发送数组,若数组元素数值小于0x80发送正常,如果有数值大于0x80则出错
例如要发送{01,02,0x81}
串口接收端显示{3f,02}
所有数组、指针格式为unsigned char,所以数组元素值范围应该在0~0xff之间,数据类型应该没有问题。

有大神碰到过这样的问题吗?该怎样解决呢?

int main(void)
{       
        USART_Config();       

        Req_Cmd_TxBuf[0]=0X01;
        Req_Cmd_TxBuf[1]=0X02;
        Req_Cmd_TxBuf[2]=0X81;
        usSndBufferCount=3;
       
        pucSndBufferCur= (UCHAR *) Req_Cmd_TxBuf;

        vMBPortSerialEnable( FALSE, TRUE );//发送使能
       
        while(1)
        {
               
        }
}




最佳答案

查看完整内容[请看2#楼]

搞了半天是串口助手的问题。。。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-10-13
在线时间
6 小时
 楼主| 发表于 2018-10-29 11:50:20 | 显示全部楼层
搞了半天是串口助手的问题。。。。
回复

使用道具 举报

15

主题

866

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
7571
金钱
7571
注册时间
2016-11-30
在线时间
643 小时
发表于 2018-10-29 11:54:31 | 显示全部楼层
发完整的代码
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-10-13
在线时间
6 小时
 楼主| 发表于 2018-10-29 12:07:29 | 显示全部楼层

就第一个,最简单的,main里面调库函数 USART_SendData()
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-10-13
在线时间
6 小时
 楼主| 发表于 2018-10-29 12:20:53 | 显示全部楼层
本帖最后由 小火苗 于 2018-10-29 13:05 编辑

调试程序,数组赋值正确
回复

使用道具 举报

2

主题

8

帖子

0

精华

新手上路

积分
28
金钱
28
注册时间
2018-10-13
在线时间
6 小时
 楼主| 发表于 2018-10-29 22:31:45 | 显示全部楼层
在线等,求解决。。。。
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-21 09:57

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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