完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
#include "MKL25Z4.h" #include "main.h" #include "uart.h" #include void UART0_init (void) { SIM_SCGC4 |= SIM_SCGC4_UART0_MASK; SIM_SOPT2 |= SIM_SOPT2_UART0SRC(0x1) ; SIM_SCGC5 |=SIM_SCGC5_PORTD_MASK; PORTD_PCR6 = PORT_PCR_MUX(3); PORTD_PCR7 = PORT_PCR_MUX(3); // Disable UART0 before changing registers //UART0_C2 &= ~(UART0_C2_TE_MASK | UART0_C2_RE_MASK); /* configure uart1 for 8-bit mode , no parity */ //UART0_C1 = 0U; /* calculate the ***r value. */ UART0_C4=0x03; UART0_BDH = UART0_BDH_SBR(0x4e2>>8); UART0_BDL = UART0_BDL_SBR(0x4e2); /*UART0_C4 = 0x03; // baud rate = 19200 with 48MHz clock UART0_BDL = 0xE8; UART0_BDH = 0x03;*/ //UART0_C3 = 0U; //UART0_S1 = 0x1FU; //UART0_S2 = 0U; /* enable the tx and rx */ //UART0_C2 |= (UART0_C2_TE_MASK | UART0_C2_RE_MASK); } void UART0_PutTxData(uint8_t txData) { UART0_D = txData; } bool UART0_IsTxBufferEmpty(void) { return ( 0U != (UART0_S1 & UART0_S1_TDRE_MASK) ); //return (UART0_S1&= ~UART0_S1_TDRE_MASK); } bool UART0_IsRxBufferFull(void) { return (0U != (UART0_S1 & UART0_S1_RDRF_MASK) ); //return (UART0_S1&= ~UART0_S1_RDRF_MASK); } /*void UART0_PutTxDataBlocking(uint8_t txData) { UART0_C2 |= UART0_C2_TE_MASK; while (!UART0_IsTxBufferEmpty() ) {} UART0_PutTxData(txData); while (!UART0_IsRxBufferFull() ){ ; // wait if transferring } UART0_D = (txData/256); }*/ void UART0_PutTxDataBlocking(uint8_t txData) { while (!UART0_IsTxBufferEmpty() ) {} UART0_PutTxData(txData); } /*uint8_t UART0_GetRxData(void) { //return (uint8_t)(UART0_D); UART0_PutTxData(txdata); UART0_D = (UART0_D/256); return (uint8_t)(UART0_D); }*/ uint8_t UART0_GetRxData(void) { return (uint8_t)(UART0_D); } uint8_t UART0_GetRxDataBlocking(void) { while (!UART0_IsRxBufferFull() ) {} return UART0_GetRxData(); } |
|
相关推荐
9个回答
|
|
然后呢~
|
|
|
|
ssss
|
|
|
|
|
|
|
|
这个错误有提示吗
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#include "MKL25Z4.h"
#include "main.h" #include "uart.h" #include void UART0_init (void) { SIM_SCGC4 |= SIM_SCGC4_UART0_MASK; SIM_SOPT2 |= SIM_SOPT2_UART0SRC(0x1) ; SIM_SCGC5 |=SIM_SCGC5_PORTD_MASK; PORTD_PCR6 = PORT_PCR_MUX(3); PORTD_PCR7 = PORT_PCR_MUX(3); UART0_C4 = 0x03; // baud rate = 19200 with 48MHz clock UART0_BDL = 0xE8; UART0_BDH = 0x03; } bool UART0_IsTxBufferEmpty(void) { return ( 0U != (UART0_S1 & UART0_S1_TDRE_MASK) ); } bool UART0_IsRxBufferFull(void) { return (0U != (UART0_S1 & UART0_S1_RDRF_MASK) ); } void UART0_PutTxDataBlocking(uint8_t txData) { UART0_C2 |= UART0_C2_TE_MASK; while (UART_T_COMPLETE == 0){ ; /* wait if transferring */ } UART0_D = txData; while (UART_T_COMPLETE == 0){ ; /* wait if transferring */ } UART0_D = (txData/256); } uint8_t UART0_GetRxData(void) { return (uint8_t)(UART0_D); } uint8_t UART0_GetRxDataBlocking(void) { while (!UART0_IsRxBufferFull() ) {} return UART0_GetRxData(); } |
|
|
|
这是目前的程序,可以发送但是读取不了,到底是什么问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2024年上海海思MCU开发者体验官招募,手机/MatePad大奖等你拿!
1496 浏览 0 评论
【xG24 Matter开发套件试用体验】蓝牙控制板载LED
1021 浏览 0 评论
1298 浏览 0 评论
电赛:mspm0l1306的开发板可以烧录程序,但是程序运行不了,怎么解决这个问题?
1332 浏览 1 评论
【xG24 Matter开发套件试用体验】Silicon Labs 基于 EFR32MG24 Explorer Kit 开发板 开箱试用体验
1029 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
10576 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-10 13:27 , Processed in 0.641020 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191