完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
我的想法是使用DMA进行USART1的Rx外设和Tx进行数据的交互,但是我使用printf却没有输出。我想知道是代码问题还是我的想法是错误的,希望大神纠正。
DMA.c #include "DMA.h" #define DTRD 5000 /*可传输最大数据65535字节*/ void USART1_Rx_DMA_Init(u8 buff) { RCC->AHBENR |= 1;/*开启DMA1时钟*/ DMA1_Channel5->CCR = 0x00000000; /*意思是从USART1->DR处获取数据,后放到buff上*/ DMA1_Channel5->CPAR = (uint32_t)(&USART1->DR);/*源*/ DMA1_Channel5->CMAR = (uint32_t)buff;/*目标*/ DMA1_Channel5->CNDTR = DTRD; DMA1_Channel5->CCR |= 2<<12; DMA1_Channel5->CCR |= 1<<7; DMA1_Channel5->CCR |= 1<<5; DMA1_Channel5->CCR &= 1<<4;/*数据传输方向由USART1->DR到buff,因此是从外设读*/ //DMA1_Channel5->CCR |= 1<<1; DMA1_Channel5->CCR |= 1; } void USART1_Tx_DMA_Init(u8 Send_Buff) { RCC->AHBENR |= 1; DMA1_Channel4->CCR = 0x00000000; DMA1_Channel4->CPAR = (uint32_t)(&USART1->DR);/*目标*/ DMA1_Channel4->CMAR = (uint32_t)Send_Buff;/*源*/ DMA1_Channel4->CNDTR = DTRD; DMA1_Channel4->CCR |= 2<<12; DMA1_Channel4->CCR |= 1<<7; DMA1_Channel4->CCR |= 1<<5; DMA1_Channel4->CCR |= 1<<4;/*数据方向由Send_Buff到USART1->DR,因此是从存储器读*/ DMA1_Channel5->CCR |= 1; } ========================================== DMA.h #ifndef __DMA_H #define __DMA_H #include #include "STM32f10x.h" #include "USART.h" void USART1_Rx_DMA_Init(u8 buff); void USART1_Tx_DMA_Init(u8 Send_Buff); #endif =========================================== main.c #include "stm32f10x.h" #include #include "LED_Init.h" #include "USART.h" #include "DMA.h" u8 SendBuff = 'a'; u8 handBuff; int main(void) { Usart1_Init(72,4800); LED_Setup(); USART1_Tx_DMA_Init(SendBuff); USART1_Rx_DMA_Init(handBuff); printf("%cn",handBuff); while (1) { } } ==================================== 根据我的理解printf应该会输出字符 'a' 才对但是并没有。希望大神解答 |
|
相关推荐
1个回答
|
|
查一下配置。如果是单次发送,发送前要重新配置 CNDTR 寄存器。
|
|
3 条评论
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1967 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1823 浏览 3 评论
4403 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1970 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2477 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 05:29 , Processed in 0.400023 second(s), Total 44, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号