STM32实现串口发送字符和字符串
效果:(字符串的收发还是有问题,只能实现预置字符串的发送,无法实现输入字符串回响)
代码:
#include "uart4.h" void hal_uart4_init() { // GPIOB使能 RCC->MP_AHB4ENSETR |= (0x1 MP_AHB4ENSETR |= (0x1 APB1RSTCLRR |= (0x1 MODER &= (~(0x3 MODER |= (0x2 MODER &= (~(0x3 MODER |= (0x2 AFRL &= (~(0xF AFRL |= (0x8 AFRL &= (~(0xF AFRL |= (0x6 CR1 &= (~(0x1 CR1 &= (~(0x1 CR1 &= (~(0x1 CR1 &= (~(0x1 CR1 |= (0x1 CR1 |= (0x1 CR1 |= (0x1); // UART设置停止位 USART4->CR2 &= (~(0X3 BRR &= (~(0XFFF)); USART4->BRR |= (0X22B); } // 发送一个字符 void hal_put_char(const char str) { while (!(USART4->ISR & 1 TDR = str; } // 发送一个字符串 void hal_put_string(const char *string) { while (*string != '\0') { hal_put_char(*string++); } } // 接收一个字符 char hal_get_char() { while (!(USART4->ISR & 1 RDR; } // 接受一个字符串 char *hal_get_string() { char buff[128]; int i = 0; while (hal_get_char() != '\n' || hal_get_char() != '\r') { buff[i++] = hal_get_char(); } buff[i] = '\0'; return buff; }
文章版权声明:除非注明,否则均为主机测评原创文章,转载或复制请以超链接形式并注明出处。