USART初始化
MX_USART2_UART_Init();
//USART初始化代码(自动生成)
USART发送程序
HAL_UART_Transmit(UART_HandleTypeDef*huart,uint8_t*pData,uint16_t Size,uint32_t Timeout)
//串口发送函数
//第一位填写串口指针 例如 &huart2
//第二位填写发送信息的指针 如数组message 需要char message[]="word";且强行转为(uint8_t*)
//第三位为数组长度 可用strlen(message) 需要声明<string.h>
//第四位为超时时间 可填100(100ms) HAL_MAX_DELAY(一直等待)
char message[]="hallo world";
while(1){
HAL_UART_Transmit(&huart2,(uint8_t*)message,strlen(message),100)
}
//示例程序
USART接收程序
HAL_UART_Receive(&huart2,receiveData,2,HAL_MAX_DELAY);
//需要配置 uint8_t receiveData[2];
//示例程序 串口控制LED三色灯
GPIO_PinState state=GPIO_PIN_SET;
//定义state为GPIO_PinState中的GPIN_PIN_SET
if ( receiveData[1]=='0')
//判断接受第二位字符为0
{
state=GPIO_PIN_RESET;
//定义state为GPIO_PinState中的GPIN_PIN_RESET
}
if (receiveData[0]=='R')
//判断接受第一位字符为R
{
HAL_GPIO_WritePin(LED_RED_GPIO_Port,LED_RED_Pin,state);
//将Red端口的高低电平赋值
}else if(receiveData[0]=='G')
//判断接受第一位字符为G
{
HAL_GPIO_WritePin(LED_GREEN_GPIO_Port,LED_GREEN_Pin,state);
//将GREEN端口的高低电平赋值
} else if(receiveData[0]=='B')
//判断接受第一位字符为B
{
HAL_GPIO_WritePin(LED_BLUE_GPIO_Port,LED_BLUE_Pin,state);
//将BLUE端口的高低电平赋值
}
Comments NOTHING