OpenEdv-开源电子网

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

STM32 串口通信 编译正常 无法通信

[复制链接]

2

主题

9

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-9-11
在线时间
4 小时
发表于 2018-9-12 08:54:47 | 显示全部楼层 |阅读模式
3金钱
//////////////////////////////////USART参数配置///////////////////////////////
#include "usart.h"
//#include "public.h"
void usart_Init()      //?????
{
  GPIO_InitTypeDef GPIO_Initstructure;
        USART_InitTypeDef USART_InitStructure;
        NVIC_InitTypeDef NVIC_InitStructure;

        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
        //RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

        GPIO_Initstructure.GPIO_Pin = GPIO_Pin_9 ;  //Tx
        GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Initstructure.GPIO_Mode = GPIO_Mode_AF_PP;
  GPIO_Init(GPIOA,&GPIO_Initstructure);

        GPIO_Initstructure.GPIO_Pin = GPIO_Pin_10;  //Rx
        GPIO_Initstructure.GPIO_Speed = GPIO_Speed_50MHz;
        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_Rx|USART_Mode_Tx;
        USART_Init(USART1, &USART_InitStructure);
       
        USART_ClearFlag(USART1,USART_FLAG_TC);
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);///????
        USART_Cmd(USART1,ENABLE); //????
        // USART_ITConfig(USART1, USART_IT_RXNE, 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)
{         
         
        static u8 k;
          USART_ClearFlag(USART1,USART_IT_TC);
    //USART_ClearFlag(USART1,USART_IT_RXNE);
//        if(USART_GetITStatus(USART1,USART_IT_RXNE)!=Bit_RESET)
        if(USART_GetITStatus(USART1,USART_IT_RXNE)!=Bit_RESET)
        {  
           k=USART_ReceiveData(USART1);
                 
           k++;
               
           USART_SendData(USART1, k);
           while(USART_GetFlagStatus(USART1,USART_IT_TC)==Bit_RESET);

        }
}
代码如上和教程代码一样 ,编译没有异常。通信无法通过

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

使用道具 举报

6

主题

359

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1604
金钱
1604
注册时间
2017-12-18
在线时间
173 小时
发表于 2018-9-12 09:20:49 | 显示全部楼层
回复

使用道具 举报

31

主题

2183

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
14434
金钱
14434
注册时间
2018-8-3
在线时间
1157 小时
发表于 2018-9-12 09:30:39 | 显示全部楼层
源程序吗
回复

使用道具 举报

82

主题

589

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1255
金钱
1255
注册时间
2017-11-18
在线时间
296 小时
发表于 2018-9-12 11:47:49 | 显示全部楼层
你进入中断时候就 USART_ClearFlag(USART1,USART_IT_TC);了,然后在if语句里面循环等待了 while(USART_GetFlagStatus(USART1,USART_IT_TC)==Bit_RESET);应该是死在这里啦
没有脑袋
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-9-11
在线时间
4 小时
 楼主| 发表于 2018-9-12 18:43:03 | 显示全部楼层
现在接收数据有问题 我发送03 接收的却是66
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-9-11
在线时间
4 小时
 楼主| 发表于 2018-9-12 18:46:05 | 显示全部楼层
USART_SendData(USART1,0x01);指令发送到pc  pc 接收到的数据却是7f.
回复

使用道具 举报

9

主题

87

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1435
金钱
1435
注册时间
2015-5-19
在线时间
132 小时
发表于 2018-9-12 20:46:04 | 显示全部楼层
到底是发送有问题,还是接收有问题,先分开确定问题在哪吧·······
回复

使用道具 举报

2

主题

9

帖子

0

精华

新手入门

积分
16
金钱
16
注册时间
2018-9-11
在线时间
4 小时
 楼主| 发表于 2018-9-13 09:29:33 | 显示全部楼层
我也不太清楚 我用pc发送的内容 然后在单片机中判断信号然后输出led亮灯显示 也是不对
回复

使用道具 举报

9

主题

796

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
2038
金钱
2038
注册时间
2017-8-2
在线时间
522 小时
发表于 2018-9-13 09:32:27 | 显示全部楼层
波特率看看
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-7-9 08:25

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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