欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2372|回復: 1
打印 上一主題 下一主題
收起左側

自己寫的stm32串口和DMA的配合程序的分享

[復制鏈接]
跳轉到指定樓層
樓主
ID:124010 發表于 2018-7-4 16:51 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
現在寫了發送和接收,接收的時候需要一個緩沖區,兩個程序用的都是串口1,PA9和PA10,可以直接運行現在是數據從內存到數據寄存器、從數據寄存器到內存。
大家有哪些DMA和串口配合的程序也可以分享,我暫時就想到這兩個
DMA串口接收數據寄存器到內存.rar (315.29 KB, 下載次數: 20)
DMA串口發送內存到數據寄存器.rar (315.42 KB, 下載次數: 13)


stm32單片機源程序如下:
  1. /* Includes ------------------------------------------------------------------*/
  2. #include        "stm32f10x.h"
  3. #include        "bsp.h"
  4. #include        "tim.h"
  5. #include        "delay.h"
  6. #include        "bitband.h"
  7. #include        "usart.h"
  8. #include        "dma.h"
  9. /* Private define ------------------------------------------------------------*/

  10. /* Private variables ---------------------------------------------------------*/
  11. uint8_t Sendbuff[3000]={0};//定義外部變量數組

  12. /* Private function prototypes -----------------------------------------------*/

  13. /* Private functions ---------------------------------------------------------*/

  14. /**
  15.   * @brief   Main program
  16.   * @param  None
  17.   * @retval None
  18.   */
  19. int main(void)
  20. {
  21.         /* Private variables ---------------------------------------------------------*/
  22.         u32 i;
  23.         /* User Code ---------------------------------------------------------*/
  24.         BSP_Config();
  25.         delay_init();
  26.         usart_config();
  27.         usart_gpio_config();
  28.         DMA_Config();
  29. //在內存中存儲3000個數據,
  30.         for(i=0;i<1000;i++){Sendbuff[i]='A';}
  31.         for(i=1000;i<2000;i++){Sendbuff[i]='B';}
  32.         for(i=2000;i<3000;i++){Sendbuff[i]='C';}
  33.         DMA_Cmd(DMA1_Channel4, ENABLE);//使能DMA通道4
  34.         USART_DMACmd(USART1, USART_DMAReq_Tx, ENABLE);//串口1發送DMA請求
  35.         /* Main Loop ---------------------------------------------------------*/
  36.         while(1)
  37.         {       
  38.                         LED1_ON();
  39.                         delay_ms(500);
  40.                         LED1_OFF();
  41.                         delay_ms(500);
  42.         }
  43. }
  44. /* Private functions ---------------------------------------------------------*/


復制代碼

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:124010 發表于 2018-7-4 17:26 | 只看該作者
求一個DMA和USART 收發不定長數據的程序,謝謝
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表