OpenEdv-开源电子网

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

STM32F407探索者发送数据和接收数据有乱码

[复制链接]

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
发表于 2019-4-18 11:30:36 | 显示全部楼层 |阅读模式
1金钱
程序采用的是以原子哥的串口通讯例程,用的是查询接受方式,USART1里的中断已经设置关闭。
void uart_init(u32 bound){
   //GPIO
  GPIO_InitTypeDef GPIO_InitStructure;
        USART_InitTypeDef USART_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;
       
        RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA,ENABLE); //
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);//

        //
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); //GPIOA9
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1); //GPIOA10
       
        //USART1
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10; //GPIOA9GPIOA10
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;        //
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; //
        GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP; //
        GPIO_Init(GPIOA,&GPIO_InitStructure); //

   //USART1 3õê¼»ˉéèÖÃ
        USART_InitStructure.USART_BaudRate = bound;//
        USART_InitStructure.USART_WordLength = USART_WordLength_8b;/
        USART_InitStructure.USART_StopBits = USART_StopBits_1;//
        USART_InitStructure.USART_Parity = USART_Parity_No;//
        USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//
        USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        //
  USART_Init(USART1, &USART_InitStructure); //
       
  USART_Cmd(USART1, ENABLE);  //
       
        //USART_ClearFlag(USART1, USART_FLAG_TC);
       
#if EN_USART1_RX       
        USART_ITConfig(USART1, USART_IT_RXNE, DISABLE);//

        //Usart1 NVIC
  NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;//
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;//
        NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;                //
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //
        NVIC_Init(&NVIC_InitStructure);        //

#endif
       
}

QQ截图20190418112945.jpg QQ图片20190418112556.png

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 11:34:46 | 显示全部楼层
另外通讯用的是USB-TTL的红色USB状的转接器,其中TX,RX,GND都已经接好。这个转接器之前用在STM32F103进行串口通讯时没有什么错误。
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 11:37:26 | 显示全部楼层
另外,串口在输出固定字符串的时候无任何错误。
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 11:50:13 | 显示全部楼层
另外什么波特率,停止位啊,都设置的是对的····这个都是很初级的····
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14424
金钱
14424
注册时间
2018-8-3
在线时间
1157 小时
发表于 2019-4-18 12:13:56 | 显示全部楼层
直接用原子的例程  会有乱码现象吗
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 13:25:34 | 显示全部楼层
翼行园子 发表于 2019-4-18 12:13
直接用原子的例程  会有乱码现象吗

您这么一说,我去试了下,发现我串口发送字符串,一直都没有正确的显示。就是,一直在发那个请发送数据,一直都没有“你所发送的数据是”以及数据的返回显示。不知道是哪里出了问题,会不会是因为DAP烧录的问题?我用的是*火DAP烧录器,并没有用自带的JLINK。
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 15:14:23 | 显示全部楼层
DantePayne 发表于 2019-4-18 13:25
您这么一说,我去试了下,发现我串口发送字符串,一直都没有正确的显示。就是,一直在发那个请发送数据, ...

刚使用STLINK烧录,发现下载标准例程还是没有任何反应······另外X-COM上的发送新行我以及勾选了,但是始终没有进入对应的程序。
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14424
金钱
14424
注册时间
2018-8-3
在线时间
1157 小时
发表于 2019-4-18 15:18:34 | 显示全部楼层
DantePayne 发表于 2019-4-18 13:25
您这么一说,我去试了下,发现我串口发送字符串,一直都没有正确的显示。就是,一直在发那个请发送数据, ...

你试下拔掉下载器 在看看串口输出 正常吗  然后发送数据 看看能不能正常显示
啊哈~加油!!
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 15:25:58 | 显示全部楼层
翼行园子 发表于 2019-4-18 15:18
你试下拔掉下载器 在看看串口输出 正常吗  然后发送数据 看看能不能正常显示

我不知道怎么说,这算正常还是不正常?刚拔了,试了试,就是“请输入数据,以回车键结束”一直显示正常,但是我输入字符一直没有得到回应,也没有进入“你所收到的数据是”这段程序里。
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14424
金钱
14424
注册时间
2018-8-3
在线时间
1157 小时
发表于 2019-4-18 16:48:22 | 显示全部楼层
DantePayne 发表于 2019-4-18 15:25
我不知道怎么说,这算正常还是不正常?刚拔了,试了试,就是“请输入数据,以回车键结束”一直显示正常, ...

板子的整体照 拍来看看
啊哈~加油!!
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 18:42:18 | 显示全部楼层
翼行园子 发表于 2019-4-18 16:48
板子的整体照 拍来看看

IMG_20190418_184032.jpg 就连接了一个USB-TTL和STLINK
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 19:23:15 | 显示全部楼层
翼行园子 发表于 2019-4-18 16:48
板子的整体照 拍来看看

刚用数据线插USB232试了下,发现可以返回。
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 19:38:31 | 显示全部楼层
目前的问题就是,串口如何和USB-TTL联用呢?因为后期可能会用到串口屏,所以·····
回复

使用道具 举报

37

主题

596

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1574
金钱
1574
注册时间
2017-7-17
在线时间
308 小时
发表于 2019-4-18 19:42:47 | 显示全部楼层
把串口的TX直接接RX,看看能不能正常显示。如果可以,证明串口助手+USB转串口模块没有问题,请进一步用逻辑分析仪抓取数据,或者DEBUG串口的DR寄存器。
回复

使用道具 举报

3

主题

16

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2019-4-17
在线时间
8 小时
 楼主| 发表于 2019-4-18 20:39:26 | 显示全部楼层
IMG_20190418_203339.jpg
已经尝试,发送数据没有回显,这是否意味着USB-TTL已经损坏?但是我在今天中午拿去和STM32F103进行联调的时候,STM32F103是可以进行接受数据并处理再回显的。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-13 00:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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