OpenEdv-开源电子网

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

STM32L151串口初始化完成后自动发出一个乱码。。。

[复制链接]

6

主题

32

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2019-10-20
在线时间
31 小时
发表于 2020-12-18 15:21:01 | 显示全部楼层 |阅读模式
1金钱
void USART1_Configuration(u32 baund)
{
    USART_InitTypeDef USART_InitStructure;
    GPIO_InitTypeDef GPIO_InitStructure;
    NVIC_InitTypeDef NVIC_InitStructure;
       
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);        //使能USART1
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);        //GPIOA时钟

          //NVIC_Configuration();
       
          USART_DeInit(USART1);  //复位串口1

         //USART1_TX   PA.9
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz;
    GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
    GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;       
    GPIO_Init(GPIOA, &GPIO_InitStructure);

          GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1);
          GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1);


    USART_InitStructure.USART_BaudRate = baund;
    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_Cmd(USART1,ENABLE);
               
                USART_ITConfig(USART1,USART_IT_RXNE,ENABLE);//开启USART1的接收中断
                //Usart1 NVIC 配置
                NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;//串口1中断通道
                NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3;//抢占优先级3
                NVIC_InitStructure.NVIC_IRQChannelSubPriority =3;                //子优先级3
                NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQ通道使能
                NVIC_Init(&NVIC_InitStructure);        //根据指定的参数初始化VIC寄存器、
                USART_ClearFlag(USART1,USART_FLAG_TC); //清除发送完成标志位
}


不知道哪里出了问题,还有当我初始化中断分组,程序会卡死跳去HardFault_Handler。

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

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

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

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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