完善资料让更多小伙伴认识你,还能领取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(); } |
|
|
|
这是目前的程序,可以发送但是读取不了,到底是什么问题
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
690 浏览 0 评论
735 浏览 1 评论
基于瑞萨FPB-RA4E2智能床头灯项目——1编译环境搭建与点亮驱动ws2812全彩LED
624 浏览 0 评论
嵌入式学习-飞凌嵌入式ElfBoard ELF 1板卡-LCD显示图片编程示例之介绍mmap
1099 浏览 0 评论
《DNESP32S3使用指南-IDF版_V1.6》第二章 常用的C语言知识点
1092 浏览 0 评论
【youyeetoo X1 windows 开发板体验】少儿AI智能STEAM积木平台
11793 浏览 31 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-26 01:02 , Processed in 0.845017 second(s), Total 91, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号