|
串口的配置* K; ^- v! R1 v8 b1 I( Z //复用口的打开 ( c% u! G+ M8 U9 S/ y q GPIO_InitTypeDef GPIO_InitStructure;" J9 _: ?7 s; Z/ C: S+ Q; N RCC_APB2PeriphClockCmd( RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA | \ RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|\2 Q% F' z3 l; W/ B1 l2 A7 B RCC_APB2Periph_GPIOE|RCC_APB2Periph_AFIO, ENABLE); , s# D$ J1 ?% K+ t1 W$ T //始终配置 RCC_APB1PeriphClockCmd( RCC_APB1Periph_USART2|RCC_APB1Periph_USART3|\ RCC_APB1Periph_UART4,ENABLE); * d$ ~+ ]5 \' k N" [ //USART1 GPIO配置1 p1 O" @2 c- ~5 C8 J' t6 j: ^* B GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; 6 e8 W! U2 b8 \6 ]+ u1 Z GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); - R4 e! \* f0 L4 d9 V 5 W1 Q* U* H% @% t GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10; - c' j) _* s/ v+ J2 }4 X GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; , n1 T8 e" H5 q6 a6 [/ f GPIO_Init(GPIOA, &GPIO_InitStructure); //USART2 GPIO配置 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; ( }. l& i0 Z5 d: j/ R0 X GPIO_Init(GPIOA, &GPIO_InitStructure); # j" s6 t. T/ _+ n //串口的配置 USART_InitTypeDef USART_InitStructure;# y! H1 M; H& t USART_InitStructure.USART_BaudRate = 115200;* b# ?- ^) n6 u. {1 Y 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; //¶¨Òå½ÓÊպͷ¢ËÍʹÄÜ " q; I' A: w* g3 f: f8 p USART_Init(USART1, &USART_InitStructure); USART_Init(USART2, &USART_InitStructure); //中断的配置,注意在中断函数里面清除中断标志 USART_ITConfig(USART1, USART_IT_RXNE, ENABLE); //ʹÄÜÖÐ¶Ï USART_ITConfig(USART3, USART_IT_RXNE, ENABLE);8 `. P+ v9 J; b! u USART_ITConfig(USART2, USART_IT_RXNE, ENABLE); //ʹÄÜÖжÏ5 F" l6 S5 r2 B& E9 T5 w& U& W$ x) a% X6 i USART_ITConfig(UART4, USART_IT_RXNE, ENABLE); * Q/ Q' x4 k$ {+ }4 T( r- C USART_Cmd(USART1, ENABLE); //ʹÄÜÍâÉè USART_Cmd(USART2, ENABLE); //ʹÄÜ 4 u1 c7 A: F/ M4 T' h |
DMA 原理从 0 到 1:为什么它能解放 CPU?一文讲透 DMA 的工作流程
【福利三:雨露均沾·逢7狂欢】之五:STM32系统时钟PLL故障排除1例
【福利三:雨露均沾·逢7狂欢】之三:AI帮我查BUG
福利三:雨露均沾·逢7狂欢】之二:STM32F407VG串口通信乱码故障的排除
基于STM32F103的I2C主从机通信
最全USB HID开发资料,悉心整理一个月,亲自测试
【源码】STLINK-V3MINI 高速USB仿真器,成功改刷【高速CMSIS-DAP】
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
微信公众号
手机版