请选择 进入手机版 | 继续访问电脑版

 找回密码
 立即注册

扫一扫,访问微社区

搜索
查看: 4720|回复: 12

STM32的串口1通信问题

[复制链接]

1

主题

2

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2016-12-18 10:12:04 | 显示全部楼层 |阅读模式
最近刚开始学习STM32,到USART部分的RS232,用USART1通信,模仿教学里的程序,也是一个利用串口中断,将PC端发送过来的数据加1,然后返回。编写好无报错,但是用串口助手调试时,数据发出去就石沉大海了,(发送了6次都没收到),
串口初始化程序如下:


void Usart_Init()
{
        GPIO_InitTypeDef        GPIO_InitStructure;
        USART_InitTypeDef        USART_InitStructure;
        NVIC_InitTypeDef         NVIC_InitStructure;

        SystemInit();
       
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_USART1,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);
               
        GPIO_InitStructure.GPIO_Pin=TXD;     //头文件里已经定义 #define TXD  GPIO_Pin_9
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
        GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;                               
        GPIO_Init(GPIOA,&GPIO_InitStructure);
       
        GPIO_InitStructure.GPIO_Pin=RXD;                 //头文件里已经定义 #define RXD  GPIO_Pin_10                               
        GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;               
        GPIO_Init(GPIOA,&GPIO_InitStructure);
       
        USART_InitStructure.USART_BaudRate = 9600;
        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_Tx | USART_Mode_Rx;
        USART_Init(USART1, &USART_InitStructure);
       
        USART_ClearFlag(USART1,USART_FLAG_TC);
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);
        USART_Cmd(USART1, ENABLE);       
       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);
        NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;                       
        NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
        NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;                       
        NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
        NVIC_Init(&NVIC_InitStructure);                
}

中断函数如下:
void USART1_IRQHandler(void)                //′®¿ú1èë¿úoˉêy
{
        static u8 rx_sbuf;
        USART_ClearFlag(USART1,USART_FLAG_TC);
        if(USART_GetITStatus(USART1,USART_IT_RXNE)!=Bit_RESET)
        {
                rx_sbuf=USART_ReceiveData(USART1);
                rx_sbuf++;
                USART_SendData(USART1,rx_sbuf);
                while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==Bit_RESET);
        }
}

主函数如下:

int main()
{
        Usart_Init();       
        while(1);       
}


初学STM32,,求大神帮忙分析分析...

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2017-4-18 23:39:49 | 显示全部楼层
_jahleel 发表于 2017-4-17 15:08
问了售后,串口助手勾选一下DTR再去掉就行

这到底是为什么
能够更清楚的解释一下吗
回复 支持 1 反对 0

使用道具 举报

1

主题

6

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2017-4-20 23:18:25 | 显示全部楼层
liufudao 发表于 2017-4-18 23:39
这到底是为什么
能够更清楚的解释一下吗

DTR是数据终端设置,也就是把单片机和电脑进行连接,具体你可以百度一下。当然他视频里没有说,这是他的问题。而且他的视频做的确实比较差。
回复 支持 1 反对 0

使用道具 举报

0

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2017-1-22 16:45:07 | 显示全部楼层
我下载他里面的例程,发送之后也没有回应。同求
回复 支持 反对

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2017-2-20 19:09:24 | 显示全部楼层
一样啊没回复
回复 支持 反对

使用道具 举报

0

主题

3

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2017-2-20 19:45:00 | 显示全部楼层
看一下教程的pdf
回复 支持 反对

使用道具 举报

0

主题

1

帖子

4

积分

新手上路

Rank: 1

积分
4
发表于 2017-4-6 09:30:25 | 显示全部楼层
我的也没有
回复 支持 反对

使用道具 举报

1

主题

6

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2017-4-13 18:31:01 | 显示全部楼层
J-PING 发表于 2017-1-22 16:45
我下载他里面的例程,发送之后也没有回应。同求

+1,准备去找售后
回复 支持 反对

使用道具 举报

1

主题

6

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2017-4-17 15:08:29 | 显示全部楼层
问了售后,串口助手勾选一下DTR再去掉就行
回复 支持 反对

使用道具 举报

0

主题

2

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2017-4-18 23:35:19 | 显示全部楼层
我的也是没有回复,就是提供地程序也没反应
回复 支持 反对

使用道具 举报

0

主题

1

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2017-4-19 22:00:51 来自手机 | 显示全部楼层
把串口调试助手更新到最新,
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|手机版|小黑屋|51开发板专区 STM32开发板专区 PLC工控专区 PLC学习机专区 ( 粤ICP备18101765号 )

GMT+8, 2019-9-22 06:22 , Processed in 0.179063 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

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