你好 ,
我已将 FRDM 板上的 UART1 配置为使用 Keil 将字符串“Hello”传输到 Teraterm。但是,该程序不起作用。您能指导我选择 UART1 的时钟源吗?
#include "MKL25Z4.h"
#include "string.h"
字符数据[] =“你好”;
诠释我;
int main(void)
{
SIM_SCGC4 |= SIM_SCGC4_UART1(1);
SIM_SCGC5 |= SIM_SCGC5_PORTE(1);
SIM_SOPT2 |= SIM_SOPT2_CLKOUTSEL(2); /* 为 UART 波特率发生器使用总线时钟 */
PORTE_PCR0 |= PORT_PCR_MUX(3);
PORTE_PCR1 |=PORT_PCR_MUX(3);
UART1_C1 = 0x00; /* 配置串行端口为 8-N-1(8 个数据位,无奇偶校验和 1 个停止位)*/
UART1_C2 |= UART_C2_TE(1); /*发送 Tx 启用 */
UART1_C2 |= UART_C2_RE(1); /* 启用接收 Rx */
//波特率:9600 21 000 000/(16*9600) = 0x88
UART1_BDH = UART_BDH_SBR(0x0);
UART1_BDL = UART_BDL_SBR(0x88);
//传输数据到Teraterm
while(1)
{
while((UART1_S1 & UART_S1_TDRE(1)) ==0) {}
for (i=0;i
{
UART1_D = data;
} }
}