你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

如何使用STM32串口映射到PB6、PB7

[复制链接]
攻城狮Melo 发布时间:2023-3-14 14:05
  1. void uart_init(u32 bound) {
  2.     //GPIO端口设置
  3.     GPIO_InitTypeDef GPIO_InitStructure;
  4.     USART_InitTypeDef USART_InitStructure;
  5.     NVIC_InitTypeDef NVIC_InitStructure;

  6.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA, ENABLE);        //使能USART1,GPIOA时钟
  7.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  8.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  9.     GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);
  10. //        //USART1_TX   GPIOA.9
  11. //  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
  12. //  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  13. //  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;        //复用推挽输出
  14. //  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9
  15. //
  16. //  //USART1_RX          GPIOA.10初始化
  17. //  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
  18. //  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
  19. //  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.10
  20.     /* TX PB6 */
  21.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  22.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  23.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  24.     GPIO_Init(GPIOB, &GPIO_InitStructure);

  25.     /*  RX PB7 */
  26.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  27.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;
  28.     GPIO_Init(GPIOB, &GPIO_InitStructure);


  29.     //Usart1 NVIC 配置
  30.     NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
  31.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3 ; //抢占优先级3
  32.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;                //子优先级3
  33.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQ通道使能
  34.     NVIC_Init(&NVIC_InitStructure);        //根据指定的参数初始化VIC寄存器

  35.     //USART 初始化设置

  36.     USART_InitStructure.USART_BaudRate = bound;//串口波特率
  37.     USART_InitStructure.USART_WordLength = USART_WordLength_8b;//字长为8位数据格式
  38.     USART_InitStructure.USART_StopBits = USART_StopBits_1;//一个停止位
  39.     USART_InitStructure.USART_Parity = USART_Parity_No;//无奇偶校验位
  40.     USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;//无硬件数据流控制
  41.     USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;        //收发模式

  42.     USART_Init(USART1, &USART_InitStructure); //初始化串口1
  43.     USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);//开启串口接受中断
  44.     USART_Cmd(USART1, ENABLE);                    //使能串口1

  45. }


复制代码
版权声明:小盼你最萌哒
如有侵权请联系删除
收藏 评论0 发布时间:2023-3-14 14:05

举报

0个回答
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版