野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 14975|回复: 2

USART3 配置失败,无法发送数据

[复制链接]
发表于 2015-6-20 10:00:36 | 显示全部楼层 |阅读模式
  1.    //GPIO端口设置
  2.     GPIO_InitTypeDef GPIO_InitStructure;
  3.         USART_InitTypeDef USART_InitStructure;
  4.         NVIC_InitTypeDef NVIC_InitStructure;

  5.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO, ENABLE);
  6.         //RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//强制或者释放高速APB(APB2)外设复位
  7.         RCC_APB1PeriphResetCmd(RCC_APB1Periph_USART3,ENABLE);//强制或者释放低速APB(APB1)外设复位
  8.         
  9.          USART_DeInit(USART3);  //复位串口1
  10.          //USART1_TX   PB.10
  11.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;
  12.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  13.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //复用推挽输出
  14.     GPIO_Init(GPIOB, &GPIO_InitStructure); //初始化PB.10
  15.    
  16.     //USART1_RX          PB.11
  17.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11;
  18.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
  19.     GPIO_Init(GPIOB, &GPIO_InitStructure);  //初始化PB.11

  20.    //Usart1 NVIC 配置

  21.     NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
  22.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;//抢占优先级
  23.         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;                //子优先级
  24.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQ通道使能
  25.         NVIC_Init(&NVIC_InitStructure);        //根据指定的参数初始化VIC寄存器
  26.   
  27.    //USART 初始化设置

  28.         USART_InitStructure.USART_BaudRate = 9600;
  29.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式
  30.         USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位
  31.         USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位
  32.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制
  33.         USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        //收发模式

  34.     USART_Init(USART3, &USART_InitStructure); //初始化串口
  35.     USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);//开启中断
  36.     USART_Cmd(USART3, ENABLE);                    //使能串口
复制代码
  1. void Puts_to_ly3(u8 *s) //发送字符串
  2. {
  3.         while(*s!='\0')                  
  4.         {
  5.                 while(USART_GetFlagStatus(USART3,USART_FLAG_TC)==RESET);
  6.                 USART_SendData(USART3,*s);
  7.                 s++;
  8.                
  9.         }
  10. }
复制代码

没法发送数据。。串口1跟串口2可以
回复

使用道具 举报

 楼主| 发表于 2015-6-20 10:02:04 | 显示全部楼层
使用的是野火MINI 板子
回复 支持 反对

使用道具 举报

发表于 2015-6-20 12:19:21 | 显示全部楼层
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-5-19 20:18 , Processed in 0.041790 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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