OpenEdv-开源电子网

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

关于usart3的问题

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2018-10-13
在线时间
1 小时
发表于 2018-10-13 21:30:13 | 显示全部楼层 |阅读模式
想问问各位前辈,我这样配置串口3,在战舰的板子上的COM3口接rs232转usb的线连接电脑,程序想要实现通过串口调试助手发送一个数据,mcu在把这个数据发送给电脑,怎么没有什么反应呢。

#include "stm32f10x.h"


void USART3_Init(void)
{
        GPIO_InitTypeDef GPIO_InitStruct;
        USART_InitTypeDef USART_InitStruct;
        NVIC_InitTypeDef NVIC_InitStruct;
       
        RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART3,ENABLE);//usart3ê±Öóê1Äü
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);//GPIOBê±Öóê1Äü
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);//¿aÆôòy½Å¸′óÃ1|Äü
        GPIO_PinRemapConfig(GPIO_PartialRemap_USART3,ENABLE);
       
        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP;//íÆíìêä3ö
        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_10;
        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,&GPIO_InitStruct);
       
        GPIO_InitStruct.GPIO_Mode=GPIO_Mode_IN_FLOATING;//¸¡¿Õêäèë
        GPIO_InitStruct.GPIO_Pin=GPIO_Pin_11;
        GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz;
        GPIO_Init(GPIOB,&GPIO_InitStruct);
       
        USART_InitStruct.USART_BaudRate=115200;//′®¿úμÄÅäÖÃ
        USART_InitStruct.USART_HardwareFlowControl=USART_HardwareFlowControl_None;//ÎTó2¼tá÷
        USART_InitStruct.USART_Mode=USART_Mode_Rx;
        USART_InitStruct.USART_Parity=USART_Parity_No;
        USART_InitStruct.USART_StopBits=USART_StopBits_1;
        USART_InitStruct.USART_WordLength=USART_WordLength_8b;//8λêy¾YÖ¡
        USART_Init(USART3,&USART_InitStruct);
       
        NVIC_InitStruct.NVIC_IRQChannel=USART3_IRQn;
        NVIC_InitStruct.NVIC_IRQChannelCmd=ENABLE;
        NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority=3;
        NVIC_InitStruct.NVIC_IRQChannelSubPriority=3;
        NVIC_Init(&NVIC_InitStruct);//3õê¼»ˉÖD¶Ï
       
        USART_ITConfig(USART3,USART_IT_RXNE,ENABLE);//¿aÆôÖD¶Ï
       
        USART_Cmd(USART3,ENABLE);//ê1Äü′®¿ú
       
}

        void USART3_IRQHandle(void)//′®¿ú3μÄÖD¶Ï·tÎñoˉêy
        {
                u8 ret;
                if(USART_GetITStatus(USART3,USART_IT_RXNE))
                {
                        ret=USART_ReceiveData(USART3);
                        USART_SendData(USART3,ret);
                }
        }

         int main(void)
{       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        USART3_Init();
        while(1);
}



下载程序的时候用的st-link,把usart3处的跳接帽接在PB10(RX)&COM_RX 以及PB11(TX)&COM_TX上,打开出口调试助手,设置参数115200,8位,无奇偶,1个停止位。,发送‘a’,应该还会打印'a',但是什么结果都没有,怎么回事呢?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10567
金钱
10567
注册时间
2017-2-18
在线时间
1913 小时
发表于 2018-10-13 21:38:47 | 显示全部楼层
试试这个程序。你USB转RS232线接板子的COM3.。同时跳冒记得设置:PB10接COM3_RX,PB11接COM3_TX

精英战舰 串口3 XCOM(PB10,PB11).rar

2 MB, 下载次数: 119

回复 支持 反对

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2018-10-13
在线时间
1 小时
 楼主| 发表于 2018-10-13 22:13:24 | 显示全部楼层
peng1554 发表于 2018-10-13 21:38
试试这个程序。你USB转RS232线接板子的COM3.。同时跳冒记得设置:PB10接COM3_RX,PB11接COM3_TX

也是不行咩,这个led闪烁时正确的,就是没有什么串口接发送数据的现象。跳接帽也练好了
回复 支持 反对

使用道具 举报

109

主题

5564

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
10567
金钱
10567
注册时间
2017-2-18
在线时间
1913 小时
发表于 2018-10-15 10:59:56 | 显示全部楼层
邵寒枫 发表于 2018-10-13 22:13
也是不行咩,这个led闪烁时正确的,就是没有什么串口接发送数据的现象。跳接帽也练好了

软件设置没问题的话即使硬件这边的问题。你可以拿我发你额程序测试下串口3(PB10接板子的USB转TTL电路的RXD  PB11接TXD)没问题的话你换一个USB转RS232线试试
回复 支持 反对

使用道具 举报

11

主题

53

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
461
金钱
461
注册时间
2019-3-22
在线时间
185 小时
发表于 2020-12-23 10:33:47 | 显示全部楼层
邵寒枫 发表于 2018-10-13 22:13
也是不行咩,这个led闪烁时正确的,就是没有什么串口接发送数据的现象。跳接帽也练好了

你的问题解决了吗?
回复 支持 反对

使用道具 举报

0

主题

4

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2020-12-2
在线时间
3 小时
发表于 2021-1-24 00:00:48 | 显示全部楼层
Handle应该是handler
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-15 04:14

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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