OpenEdv-开源电子网

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

STM32F103MINI板串口实验求助

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
4
金钱
4
注册时间
2021-9-23
在线时间
0 小时
发表于 2021-9-23 17:12:49 | 显示全部楼层 |阅读模式
1金钱
#include "stm32f10x.h"
#include "led.h"
#include "delay.h"
void My_USART_Init(void)
{
        GPIO_InitTypeDef GPIO_Init_Struct;
        USART_InitTypeDef USART_Init_Struct;
        NVIC_InitTypeDef NVIC_Init_Struct;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);
       
        USART_DeInit(USART1);//复位串口1
       
        GPIO_Init_Struct.GPIO_Mode = GPIO_Mode_AF_PP ;
        GPIO_Init_Struct.GPIO_Pin = GPIO_Pin_9  ;
        GPIO_Init_Struct.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA,&GPIO_Init_Struct);
       
        GPIO_Init_Struct.GPIO_Mode = GPIO_Mode_IPU ;
        GPIO_Init_Struct.GPIO_Pin = GPIO_Pin_10  ;
        GPIO_Init(GPIOA,&GPIO_Init_Struct);
       
        USART_Init_Struct.USART_BaudRate = 9600 ; //波特率
        USART_Init_Struct.USART_HardwareFlowControl = USART_HardwareFlowControl_None ; //硬件流
        USART_Init_Struct.USART_Mode = USART_Mode_Rx|USART_Mode_Tx; // 使能发送和接收
        USART_Init_Struct.USART_Parity =USART_Parity_No ; // 奇偶校验与否
        USART_Init_Struct.USART_StopBits = USART_StopBits_1 ;
        USART_Init_Struct.USART_WordLength = USART_WordLength_8b ;
        USART_Init(USART1,&USART_Init_Struct); //初始化串口
       
        USART_Cmd(USART1,ENABLE); //使能串口
       
        USART_ITConfig(USART1,USART_IT_RXNE,ENABLE); // 开启接收中断
       
        NVIC_Init_Struct.NVIC_IRQChannel = USART1_IRQn ;
        NVIC_Init_Struct.NVIC_IRQChannelCmd = ENABLE ;
        NVIC_Init_Struct.NVIC_IRQChannelPreemptionPriority = 3;
        NVIC_Init_Struct.NVIC_IRQChannelSubPriority = 3;
        NVIC_Init(&NVIC_Init_Struct);
       
}

void USART1_IRQHandler_1(void){
        u8 res;
        if(USART_GetITStatus(USART1,USART_IT_RXNE))
        {
          res = USART_ReceiveData(USART1);
                USART_SendData(USART1,res);
        }
}
int main(void)
{
       
        NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
        My_USART_Init();
        delay_init();
        LED_Init();
        GPIO_SetBits(GPIOD,GPIO_Pin_2);
        while(1)
        {
                GPIO_SetBits(GPIOA,GPIO_Pin_8);
                delay_ms(500);
                GPIO_ResetBits(GPIOA,GPIO_Pin_8);
                delay_ms(500);
        };

}
有没有大佬能帮我看看代码的问题出在哪里?发送了却没有回应

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

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3625
金钱
3625
注册时间
2019-8-14
在线时间
1054 小时
发表于 2021-9-24 11:35:33 | 显示全部楼层
拍照板子与软件设置看下,板子的led有没有闪烁
回复

使用道具 举报

0

主题

12

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2021-12-14
在线时间
7 小时
发表于 2021-12-28 17:26:07 | 显示全部楼层
      GPIO_Init_Struct.GPIO_Mode = GPIO_Mode_IPU ;
        GPIO_Init_Struct.GPIO_Pin = GPIO_Pin_10  ;
IO定义错误,应该是浮空输入,不是上拉输入
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165516
金钱
165516
注册时间
2010-12-1
在线时间
2116 小时
发表于 2021-12-29 01:44:51 | 显示全部楼层
仿真找下问题
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-5-20 23:31

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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