OpenEdv-开源电子网

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

串口无限制发送00

[复制链接]

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
发表于 2016-5-14 13:16:41 | 显示全部楼层 |阅读模式
4金钱
在使用串口的时候(F4,我用的是F429),我把引脚一配置好(Tx,Rx的复用功能),串口助手就会收到单片机发送的0x00,但是过程中我只是初始化,Tx和Rx的引脚,而没有启用发送命令。请问该如何解决。他们说这个是单片机自己的bug,该怎么避免呢 ?

最佳答案

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

使用道具 举报

5

主题

81

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-5-31
在线时间
260 小时
发表于 2016-5-14 13:16:42 | 显示全部楼层
回复

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
 楼主| 发表于 2016-5-14 13:21:29 | 显示全部楼层
[mw_shl_code=c,true]/**
        * @brief  USART串口GPIO初始化
        * @param  无
        * @retval 无
**/
static void GPIO_USARTConfig(void)
{
    GPIO_InitTypeDef     GPIO_InitStructure;/*GPIO时钟初始化*/
/*对GPIO引脚的时钟进行初始化,此处为AHB1时钟总线*/
/*USART1 GPIO初始化*/
  #ifdef USART1_RX_EN    //USART1接收模式
            RCC_AHB1PeriphClockCmd(USART1_RX_GPIO_Clk ,ENABLE);
  #endif
  #ifdef USART1_TX_EN   //USART1发送模式
            RCC_AHB1PeriphClockCmd(USART1_TX_GPIO_Clk,ENABLE);
  #endif
  #ifdef USART1_EN      //USART1接收发送模式
            RCC_AHB1PeriphClockCmd(USART1_RX_GPIO_Clk |
                                                  USART1_TX_GPIO_Clk ,ENABLE);
   #endif
   /*USART2 GPIO初始化*/
   #ifdef USART2_RX_EN   //USART2接收模式
             RCC_AHB1PeriphClockCmd(USART2_RX_GPIO_Clk,ENABLE);
   #endif
   #ifdef USART2_TX_EN   //USART2发送模式
             RCC_AHB1PeriphClockCmd(USART2_TX_GPIO_Clk,ENABLE);
   #endif
   #ifdef USART2_EN      //USART2发送模式
             RCC_AHB1PeriphClockCmd(USART2_RX_GPIO_Clk |
                                                   USART2_TX_GPIO_Clk ,ENABLE);
   #endif
       
        /*配置GPIO*/
        GPIO_InitStructure.GPIO_Mode  = GPIO_Mode_AF;        //引脚复用模式
        GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;       //推挽模式
        GPIO_InitStructure.GPIO_PuPd  = GPIO_PuPd_UP;        //上拉电阻
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;     //输出速度为50MHz                       
   #if defined (USART1_RX_EN) || defined (USART1_TX_EN) || defined(USART1_EN)
          /*配置USART1 Rx GPIO*/
          GPIO_InitStructure.GPIO_Pin   = USART1_RX_GPIO_Pin;   //配置RX
          GPIO_Init(USART1_RX_GPIO_Port,&GPIO_InitStructure);
        /*配置USART1 Tx GPIO*/
          GPIO_InitStructure.GPIO_Pin = USART1_TX_GPIO_Pin;
          GPIO_Init(USART1_TX_GPIO_Port,&GPIO_InitStructure);                       
        /*引脚关联*/                                                                                 
          GPIO_PinAFConfig(USART1_RX_GPIO_Port,USART1_RX_GPIO_Source,
                                 GPIO_AF_USART1);                   //Rx引脚关联到USART2_Rx上
          GPIO_PinAFConfig(USART1_TX_GPIO_Port,USART1_TX_GPIO_Source,
                                 GPIO_AF_USART1);                                                                                   //Tx引脚关联到USART2_Tx上
    #endif                                                                                 
                                                                                 
   #if defined (USART2_RX_EN) || defined (USART2_TX_EN) || defined(USART2_EN)
          /*配置USART2 Rx GPIO*/
           GPIO_InitStructure.GPIO_Pin   = USART2_RX_GPIO_Pin;   //配置RX
           GPIO_Init(USART2_RX_GPIO_Port,&GPIO_InitStructure);
                /*配置USART2 Tx GPIO*/
               GPIO_InitStructure.GPIO_Pin = USART2_TX_GPIO_Pin;
        GPIO_Init(USART2_TX_GPIO_Port,&GPIO_InitStructure);       
                /*引脚关联*/                                                                                 
        GPIO_PinAFConfig(USART2_RX_GPIO_Port,USART2_RX_GPIO_Source,
                                 GPIO_AF_USART2);                   //Rx引脚关联到USART2_Rx上
        GPIO_PinAFConfig(USART2_TX_GPIO_Port,USART2_TX_GPIO_Source,
                                 GPIO_AF_USART2);                                                                    //Tx引脚关联到USART2_Tx上
          #endif                                 
}[/mw_shl_code]
回复

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
 楼主| 发表于 2016-5-14 13:22:33 | 显示全部楼层

在哪个位置串?
回复

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
 楼主| 发表于 2016-5-14 13:23:26 | 显示全部楼层

意思 是这是一个硬件问题?
回复

使用道具 举报

5

主题

81

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-5-31
在线时间
260 小时
发表于 2016-5-14 13:25:03 | 显示全部楼层
对呀,初始化过程中,串口发0x00,乱码很正常,串个22~100欧电阻应该OK
stm32f429 -discovery,我不能和他愉快玩耍了。
回复

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
 楼主| 发表于 2016-5-14 13:30:00 | 显示全部楼层
Gohome_soon 发表于 2016-5-14 13:25
对呀,初始化过程中,串口发0x00,乱码很正常,串个22~100欧电阻应该OK

在哪个地方串啊?图中1位置还是2位置?
QQ截图20160514132928.png
回复

使用道具 举报

5

主题

81

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-5-31
在线时间
260 小时
发表于 2016-5-14 13:37:54 | 显示全部楼层
1的位置,MAX3232就是一个电平转换,,转换之后它上啦的,在未知状态下是高,
stm32f429 -discovery,我不能和他愉快玩耍了。
回复

使用道具 举报

5

主题

81

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-5-31
在线时间
260 小时
发表于 2016-5-14 13:42:35 | 显示全部楼层
或者你也上拉一个电阻
stm32f429 -discovery,我不能和他愉快玩耍了。
回复

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
 楼主| 发表于 2016-5-14 14:26:16 | 显示全部楼层
Gohome_soon 发表于 2016-5-14 13:42
或者你也上拉一个电阻

我试了一下上拉22欧的电阻 没有用。串个电阻还没有试
回复

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
 楼主| 发表于 2016-5-14 14:37:39 | 显示全部楼层
不行啊 。 串22欧姆电阻也试了 不能解决
回复

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
 楼主| 发表于 2016-5-14 15:50:24 | 显示全部楼层
Gohome_soon 发表于 2016-5-14 13:42
或者你也上拉一个电阻

我找到答案了。是因为我买的串口线有问题。它里面有一个IC,应该是CH340,我开发板上也有个IC是MAX232,两个IC一起工作,就导致了电平转换出现了问题。我用CH340重新做了一个口。然后跳过板子上的MAX232就解决了、
回复

使用道具 举报

9

主题

41

帖子

0

精华

初级会员

Rank: 2

积分
83
金钱
83
注册时间
2016-5-14
在线时间
14 小时
 楼主| 发表于 2016-5-14 15:50:50 | 显示全部楼层

非常感谢。给了我思路。
回复

使用道具 举报

5

主题

81

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1130
金钱
1130
注册时间
2015-5-31
在线时间
260 小时
发表于 2016-5-15 08:47:06 | 显示全部楼层
难道我以前遇到这个问题是这样,可是我串个电阻就ok了
stm32f429 -discovery,我不能和他愉快玩耍了。
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-27 06:35

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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