|
現(xiàn)在寫了發(fā)送和接收,接收的時候需要一個緩沖區(qū),兩個程序用的都是串口1,PA9和PA10,可以直接運行現(xiàn)在是數(shù)據(jù)從內(nèi)存到數(shù)據(jù)寄存器、從數(shù)據(jù)寄存器到內(nèi)存。
大家有哪些DMA和串口配合的程序也可以分享,我暫時就想到這兩個
DMA串口接收數(shù)據(jù)寄存器到內(nèi)存.rar
(315.29 KB, 下載次數(shù): 20)
2018-7-5 01:20 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
DMA串口發(fā)送內(nèi)存到數(shù)據(jù)寄存器.rar
(315.42 KB, 下載次數(shù): 13)
2018-7-5 01:20 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
stm32單片機源程序如下:
- /* Includes ------------------------------------------------------------------*/
- #include "stm32f10x.h"
- #include "bsp.h"
- #include "tim.h"
- #include "delay.h"
- #include "bitband.h"
- #include "usart.h"
- #include "dma.h"
- /* Private define ------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- uint8_t Sendbuff[3000]={0};//定義外部變量數(shù)組
- /* Private function prototypes -----------------------------------------------*/
- /* Private functions ---------------------------------------------------------*/
- /**
- * @brief Main program
- * @param None
- * @retval None
- */
- int main(void)
- {
- /* Private variables ---------------------------------------------------------*/
- u32 i;
- /* User Code ---------------------------------------------------------*/
- BSP_Config();
- delay_init();
- usart_config();
- usart_gpio_config();
- DMA_Config();
- //在內(nèi)存中存儲3000個數(shù)據(jù),
- for(i=0;i<1000;i++){Sendbuff[i]='A';}
- for(i=1000;i<2000;i++){Sendbuff[i]='B';}
- for(i=2000;i<3000;i++){Sendbuff[i]='C';}
- DMA_Cmd(DMA1_Channel4, ENABLE);//使能DMA通道4
- USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);//串口1發(fā)送DMA請求
- /* Main Loop ---------------------------------------------------------*/
- while(1)
- {
- LED1_ON();
- delay_ms(500);
- LED1_OFF();
- delay_ms(500);
- }
- }
- /* Private functions ---------------------------------------------------------*/
復(fù)制代碼
|
評分
-
查看全部評分
|