#include <stdio.h> #include <stdint.h> #include "MKL25Z4.h"

void UART_Init() { SIM->SCGC4 |= SIM_SCGC4_UART2_MASK; SIM->SOPT2 |= SIM_SOPT2_UART0SRC(1); SIM->SOPT2 |= SIM_SOPT2_PLLFLLSEL_MASK; SIM->SCGC5 |= SIM_SCGC5_PORTA_MASK;

PORTA->PCR[16] |= PORT_PCR_MUX(3);
PORTA->PCR[17] |= PORT_PCR_MUX(3);

UART2->BDH = 0x00;
UART2->BDL = 0x17;
UART2->C1 = 0x00;
UART2->C2 |= UART_C2_RE_MASK | UART_C2_TE_MASK;

}

void UART_Transmit(UART_Type *UARTx, uint8_t *data, uint16_t size) { for(uint16_t i = 0; i < size; i++) { while(!(UARTx->S1 & UART_S1_TDRE_MASK)); UARTx->D = data[i]; } }

void UART_Receive(UART_Type *UARTx, uint8_t *data, uint16_t size) { for(uint16_t i = 0; i < size; i++) { while(!(UARTx->S1 & UART_S1_RDRF_MASK)); data[i] = UARTx->D; } }

int main() { UART_Init();

uint8_t sendData[] = {0x01, 0x02, 0x03, 0x04, 0x05};
uint8_t receiveData[5];

UART_Transmit(UART2, sendData, sizeof(sendData));
UART_Receive(UART2, receiveData, sizeof(receiveData));

return 0;

}

该程序初始化了 UART2 并设置波特率为 115200。发送函数 'UART_Transmit' 用于向 UART 发送数据,接收函数 'UART_Receive' 用于从 UART 接收数据。在主函数中,定义了要发送的数据数组 'sendData' 和接收数据的数组 'receiveData',然后调用发送函数发送数据,并调用接收函数接收数据。

注意:以上代码仅为示例,具体实现可能需要根据具体的硬件平台和库函数进行调整。

SKEAZ128xxx4 控制器 C 语言 UART2 串口通信代码示例 (波特率 115200)

原文地址: https://www.cveoy.top/t/topic/qd4O 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录