娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

歷史上的今天

今天是:2025年06月21日(星期六)

2019年06月21日 | 嵌入式stm32學(xué)習(xí):DMA-存儲到存儲

發(fā)布者:知音學(xué)友 來源: eefocus關(guān)鍵字:stm32  DMA  存儲到存儲 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

main.c


#include "stm32f4xx.h"

#include "./led/bsp_led.h"


/* 相關(guān)宏定義,使用存儲器到存儲器模式必須使用DMA2 */

#define DMA_STREAM               DMA2_Stream0

#define DMA_CHANNEL              DMA_Channel_0

#define DMA_STREAM_CLOCK         RCC_AHB1Periph_DMA2 

#define DMA_FLAG_TCIF            DMA_FLAG_TCIF0


#define BUFFER_SIZE              32

#define TIMEOUT_MAX              10000 /* Maximum timeout value */


/* 定義aSRC_Const_Buffer數(shù)組作為DMA數(shù)據(jù)源,

  const關(guān)鍵字將aSRC_Const_Buffer數(shù)組變量定義為常量類型 */

const uint32_t aSRC_Const_Buffer[BUFFER_SIZE]= {

                                    0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,

                                    0x11121314,0x15161718,0x191A1B1C,0x1D1E1F20,

                                    0x21222324,0x25262728,0x292A2B2C,0x2D2E2F30,

                                    0x31323334,0x35363738,0x393A3B3C,0x3D3E3F40,

                                    0x41424344,0x45464748,0x494A4B4C,0x4D4E4F50,

                                    0x51525354,0x55565758,0x595A5B5C,0x5D5E5F60,

                                    0x61626364,0x65666768,0x696A6B6C,0x6D6E6F70,

                                    0x71727374,0x75767778,0x797A7B7C,0x7D7E7F80};

/* 定義DMA傳輸目標(biāo)存儲器 */

uint32_t aDST_Buffer[BUFFER_SIZE];



static void Delay(__IO uint32_t nCount);

static void DMA_Config(void);

uint8_t Buffercmp(const uint32_t* pBuffer, uint32_t* pBuffer1, uint16_t BufferLength);  //比較函數(shù)定義



int main(void)

{

  /* 定義存放比較結(jié)果變量 */

  uint8_t TransferStatus;


    LED_GPIO_Config();


  LED_PURPLE;  


  Delay(0xFFFFFF);  


  /* DMA傳輸配置 */

  DMA_Config(); 


  /* 等待DMA傳輸完成 */

  while(DMA_GetFlagStatus(DMA_STREAM,DMA_FLAG_TCIF)==DISABLE)

  {


  }   


  TransferStatus=Buffercmp(aSRC_Const_Buffer, aDST_Buffer, BUFFER_SIZE);


  if(TransferStatus==0)  

  {

    LED_RED;

  }

  else

  { 

    LED_BLUE;

  }


    while (1)

    {       

    }

}


static void Delay(__IO uint32_t nCount)

{

    for(; nCount != 0; nCount--);

}


/**

  * DMA傳輸配置

  */

static void DMA_Config(void)

{

  DMA_InitTypeDef  DMA_InitStructure;

  __IO uint32_t    Timeout = TIMEOUT_MAX;


  /* 使能DMA時(shí)鐘 */

  RCC_AHB1PeriphClockCmd(DMA_STREAM_CLOCK, ENABLE);


  /* 復(fù)位初始化DMA數(shù)據(jù)流 */

  DMA_DeInit(DMA_STREAM);


  /* 確保DMA數(shù)據(jù)流復(fù)位完成 */

  while (DMA_GetCmdStatus(DMA_STREAM) != DISABLE)

  {

  }


  /* DMA數(shù)據(jù)流通道選擇 */

  DMA_InitStructure.DMA_Channel = DMA_CHANNEL;  

  /* 源數(shù)據(jù)地址 */

  DMA_InitStructure.DMA_PeripheralBaseAddr = (uint32_t)aSRC_Const_Buffer;

  /* 目標(biāo)地址 */

  DMA_InitStructure.DMA_Memory0BaseAddr = (uint32_t)aDST_Buffer;

  /* 存儲器到存儲器模式 */

  DMA_InitStructure.DMA_DIR = DMA_DIR_MemoryToMemory;

  /* 數(shù)據(jù)大小 */

  DMA_InitStructure.DMA_BufferSize = (uint32_t)BUFFER_SIZE;

  /* 自動(dòng)遞增功能使能 */

  DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Enable;

  /* 自動(dòng)遞增功能使能 */

  DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable;

  /* 源數(shù)據(jù)大小為字(32位) */

  DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Word;

  /* 目標(biāo)數(shù)據(jù)大小為字(32位) */

  DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;

  /* 普通傳輸模式(一次傳輸),存儲器到存儲器模式不能使用循環(huán)模式 */

  DMA_InitStructure.DMA_Mode = DMA_Mode_Normal;

  /* DMA數(shù)據(jù)流優(yōu)先級為高 */

  DMA_InitStructure.DMA_Priority = DMA_Priority_High;

  /* 禁用FIFO模式 */

  DMA_InitStructure.DMA_FIFOMode = DMA_FIFOMode_Disable;     

  DMA_InitStructure.DMA_FIFOThreshold = DMA_FIFOThreshold_Full;

  /* 單次模式 */

  DMA_InitStructure.DMA_MemoryBurst = DMA_MemoryBurst_Single;

  /* 單次模式 */

  DMA_InitStructure.DMA_PeripheralBurst = DMA_PeripheralBurst_Single;

  /* 使用上面設(shè)置配置DMA參數(shù) */

  DMA_Init(DMA_STREAM, &DMA_InitStructure);


  /* 清除DMA數(shù)據(jù)流傳輸完成標(biāo)志位 */

  DMA_ClearFlag(DMA_STREAM,DMA_FLAG_TCIF);


  /* 使能DMA數(shù)據(jù)流,開始DMA數(shù)據(jù)傳輸 */

  DMA_Cmd(DMA_STREAM, ENABLE);


  /* 檢測DMA數(shù)據(jù)流是否有效并帶有超時(shí)檢測功能 */

  Timeout = TIMEOUT_MAX;

  while ((DMA_GetCmdStatus(DMA_STREAM) != ENABLE) && (Timeout-- > 0))

  {

  }


  /* 判斷是否超時(shí) */

  if (Timeout == 0)

  {

    /* 超時(shí)執(zhí)行循環(huán) */

    while (1)

    {      

      LED_RED;

      Delay(0xFFFFFF);

      LED_RGBOFF;

      Delay(0xFFFFFF);

    }

  } 

}


/**

  * 判斷指定長度的兩個(gè)數(shù)據(jù)源是否完全相等,

  * 相等返回1,不等返回0

  */

uint8_t Buffercmp(const uint32_t* pBuffer, 

                  uint32_t* pBuffer1, uint16_t BufferLength)

{

  while(BufferLength--)

  {

    if(*pBuffer != *pBuffer1)

    {

      return 0;

    }

    pBuffer++;

    pBuffer1++;

  }

  return 1;  

}


/*********************************************END OF FILE**********************/



關(guān)鍵字:stm32  DMA  存儲到存儲 引用地址:嵌入式stm32學(xué)習(xí):DMA-存儲到存儲

上一篇:嵌入式stm32學(xué)習(xí):DMA-存儲到外設(shè)
下一篇:嵌入式stm32學(xué)習(xí):USART串口通信

推薦閱讀

最小系統(tǒng)原理圖如下(買的小板,自己寫程序)熔絲位的設(shè)置,如下圖:CKSEL[3:0] = 1111 , 選擇外部晶振作為時(shí)鐘源SUT[1:0] = 01 , 使能BOD,這個(gè)功能好像不是那么必要,使用默認(rèn)值也行CKOPT = 0 , 時(shí)鐘最高到16MHz, 好像對于CKSEL選擇外部晶振的模式時(shí),這個(gè)值也沒有必要,再理解手冊吧,先設(shè)上也沒錯(cuò)。寫到這里就順便備份一下燒錄工具...
“每一個(gè)時(shí)期的重大發(fā)明都會(huì)改變我們的生活,19世紀(jì)的鋼鐵,20世紀(jì)的汽車飛機(jī)等等,在推動(dòng)發(fā)展力的同時(shí)也讓社會(huì)蓬勃發(fā)展。而著重要說的就是20世紀(jì)中期半導(dǎo)體晶體管的發(fā)明,這一項(xiàng)發(fā)明讓社會(huì)產(chǎn)生了巨大的變化?;诎雽?dǎo)體建立的IT技術(shù),讓世界變成一個(gè)“村”,人類從此進(jìn)入互聯(lián)時(shí)代。”在2019海峽兩岸集成電路產(chǎn)業(yè)合作發(fā)展論壇上,臺積電中國區(qū)業(yè)務(wù)發(fā)展副總...
首先準(zhǔn)備好安裝包,然后依次安裝0、JDKmplabx是JAVA寫的,先裝上JDK再說。直接安裝就行了,最好是默認(rèn)地址,別瞎搞,懂的人自己切換JDK和JRE目錄,安裝完后加上那三個(gè)系統(tǒng)環(huán)境變量,萬無一失。安裝教程https://www.runoob.com/java/java-environment-setup.html下載地址http://www.onlinedown.net/soft/61003.htm1、mplabx-v4.05-windows-installer作用:...
隨著人工智能不斷滲透,智能機(jī)器人行業(yè)正在悄然發(fā)生變化,雖然市場增勢依舊迅猛,但技術(shù)瓶頸造成的影響已經(jīng)顯現(xiàn)。在風(fēng)口之下,廠商們對于技術(shù)研發(fā)后繼不足,過分注重市場營銷使得行業(yè)發(fā)展走向岔路。瓶頸難破,市場亂象已生近5年來,在人力成本的增長及經(jīng)濟(jì)結(jié)構(gòu)轉(zhuǎn)變的時(shí)代背景下,無論家用機(jī)器人還是各類商用機(jī)器人都實(shí)現(xiàn)了從0到1的質(zhì)變,掃地機(jī)器人更是實(shí)...

史海拾趣

問答坊 | AI 解惑

紅外溫度傳感器

求助: 誰有紅外溫度傳感器的資料發(fā)給我一份啊? 或者大家把常用的紅外溫度傳感器型號和價(jià)格或者介紹紅外溫度傳感器的網(wǎng)址貼到論壇哦! 謝謝啦~~~…

查看全部問答∨

集成運(yùn)放的噪聲到底有多大?

集成運(yùn)放的固有噪聲到底有多大呢? 雖然用的是精密放大器op07 但信號源確是微伏級的 會(huì)不會(huì)淹沒在噪聲中?。? 哪位大俠解答一下 怎么測運(yùn)放的固有噪聲呢?…

查看全部問答∨

WinCE 6.0 在調(diào)試DLL中的函數(shù)時(shí)傳入的char*類型的參數(shù),看到的值是空的,但函數(shù)的執(zhí)行結(jié)果卻是正確的

dll 頭文件   Function.h class _declspec(dllexport)CFunction : public CObject { public:       CFunction();       virtual ~CFunction();       int Add(i ...…

查看全部問答∨

PCB設(shè)計(jì) 求救!

如何把兩個(gè)后綴為 “**.Pcblib” 的pcb庫合成一個(gè)pcb庫 ?…

查看全部問答∨

MDK&STM32系列ARMCortex-M3視頻培訓(xùn)教程

為了滿足部分初學(xué)者的需求,我們制作了一份STM32培訓(xùn)視頻,供大家下載。結(jié)合兩本書,還有低成本的工具,我想對于初學(xué)者來說應(yīng)該會(huì)一定的幫助。目前提供的資料:《STM32系列ARM Cortex-M3微制器原理與應(yīng)用》《ARM開發(fā)工具RealView MD ...…

查看全部問答∨

閑了

大三閑得慌 [ 本帖最后由 nwx8899 于 2011-9-27 19:46 編輯 ]…

查看全部問答∨

I2C &CAN 的優(yōu)缺 對比?

最近想做點(diǎn)東西,由于模塊有點(diǎn)多,所以想用總線通信。但在IIC和CAN總線的選取上,由于自身對兩種總線了解不夠深,在此希望各位高手能指點(diǎn)一下。634796840是我QQ,可以留言也可以QQ聯(lián)系,謝謝啦!…

查看全部問答∨

STM32,I2C忙檢測

void I2C_Standby_24C(void)      //判斷EEPrOM忙否,通過讀取SR1的的二位BUSY的值 {   vu16 SR1_Tmp;     do   {     /*起始位*/     I2C_GenerateSTART( ...…

查看全部問答∨

2013年全國大學(xué)生電子設(shè)計(jì)競賽

本帖最后由 paulhyde 于 2014-9-15 03:06 編輯 2013年全國大學(xué)生電子設(shè)計(jì)競賽 全國一等獎(jiǎng)候選隊(duì)及抽測的復(fù)評測試隊(duì)員名單(C題)    …

查看全部問答∨

關(guān)于IAR variable "Fx" was set but never

我用的是iar for msp430v5.5.02這個(gè)版本#include #include \"Config.h\"                  void main(void) {  int  Fx,F;   int k3=18,k2=-40,k ...…

查看全部問答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 镇坪县| 晋中市| 曲松县| 翁源县| 鹤壁市| 尉犁县| 正安县| 莫力| 舟山市| 金川县| 砚山县| 阿合奇县| 溧水县| 武定县| 开阳县| 井研县| 衡水市| 抚顺市| 宁河县| 绥德县| 鹿泉市| 新龙县| 惠安县| 镇江市| 安泽县| 宽甸| 扶沟县| 收藏| 七台河市| 清徐县| 昭通市| 偏关县| 高碑店市| 开鲁县| 义乌市| 永靖县| 西昌市| 温宿县| 平乐县| 永靖县| 九台市|