91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 126KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-03
  • 語言: 其他
  • 標簽: STM32f4??

資源簡介

STM32 F4的DMA可以方便陳述數據

資源截圖

代碼片段和文件信息

/*********************************************
????標題:操作DMA的練習
????軟件平臺:IAR?for?ARM6.21
????硬件平臺:stm32f4-discovery
????主頻:168M
????
????描述:從其他設備接收數據,再把數據發送出去
??????????USART3接收中斷,發射用DMA
????author:小船
????data:2012-02-03
**********************************************/

#include??

u8?USART_DMA_Completed;
u8?Rx_Completed;
u8?Rx_data_counter;
u8?usart3_buffer[100];

void?USART3_DMA_config(void);
void?USART3_config(void);

void?main?()
{?
??
??SCB->AIRCR?=?0x05AF0000?|?0x400;??//中斷優先級分組?搶占:響應=3:1
??
??RCC->AHB1ENR?|=?(?(1<<3)?|?(1<<21)?);?//使能GPIOD時鐘使能DMA1時鐘
??RCC->APB1ENR?|=?(1<<18);??//使能usart3時鐘
??
??USART3_DMA_config();
??USART3_config();
??
??USART_DMA_Completed?=?1;
??
??while(1)
??{??
????if(USART_DMA_Completed?&?Rx_Completed)??//之前數據已經發送完成,接收到新的數據
????{??
??????DMA1_Stream3->CR?&=?0xFFFFFFFE;?//除能DMA1_Stream3
??????while(DMA1_Stream3->CR?&?0x00000001);//確保DMA可以被設置?????
??????DMA1->LIFCR?|=?0x0f800000;//傳送前清空DMA1_Stream3所有中斷標志??????
??????DMA1_Stream3->NDTR?=?Rx_data_counter;?//設置dma傳輸數據的數量
??????if((USART3->SR?&?(1<<7)))?//發送數據寄存器空
??????{
????????USART3->CR3?&=?~(1<<7);//除能usartdma發送
????????USART_DMA_Completed?=?0;
????????DMA1_Stream3->NDTR?=?Rx_data_counter;?//設置dma傳輸數據的數量
????????DMA1_Stream3->CR?|=?1;//使能dma
????????USART3->CR3?|=?(1<<7);//使能usartdma發送
????????Rx_Completed?=?0;
????????Rx_data_counter?=?0;
??????}
????}
??}
}

/****************************************
??函數名:USART3_DMA_config
??參數:無
??返回值:無
??功能:DMA1數據流3與usart3關聯的相關配置
****************************************/
void?USART3_DMA_config(void)
{
??DMA1_Stream3->CR?&=?0xFFFFFFFE;?//除能DMA1_Stream3
??while(DMA1_Stream3->CR?&?0x00000001);//確保DMA可以被設置
??
??DMA1->LIFCR?|=?0x0f800000;//傳送前清空DMA1_Stream3所有中斷標志
??
??DMA1_Stream3->PAR?=?(uint32_t)&USART3->DR;//設置外設地址USART3->DR地址0x40004804
??DMA1_Stream3->M0AR?=?(uint32_t)usart3_buffer;?//設置內存地址
??DMA1_Stream3->NDTR?=?Rx_data_counter;?//設置dma傳輸數據的數量
??//DMA1_Stream3->FCR?|=?0x00000007;//設置fifo
??/*
????設置dma通道4,即usart3tx
????優先級Medium
????傳輸方向內存到外設
????內存遞增模式
????傳輸完成中斷使能
??*/
??DMA1_Stream3->CR?|=?(?0x08000000?|0x00010000?|?(1<<6)
????????????????????????|?(1<<10)?|?(1<<4)?);?

??USART3->CR3?&=?~(1<<7);//usart3?dma發送模式除能
??
??NVIC->IP[14]?=?0xA0;
??NVIC->ISER[0]?|=?(1<<14);
??
}

/**************************
??函數名:USART3_config
??參數:無
??返回值:無
??功能:配置usart3
************************/
void?USART3_config(void)
{
??USART3->BRR?=?0x0000016C;???//波特率115200
??/*
???使能usart3
??usart3發送使能
??usart3接收使能
??接收緩沖區非空中斷使能
??8bit
??一位停止位
??無校驗
??*/
??USART3->CR1?|=?((?1<<13?)?|?(?1<<3?)?|?(?1<<2?)?|?(?1<<5?));?
??
??GPIOD->AFR[1]?|=?0x00000077;//選擇PD89復用功能?
??
??GPIOD->MODER?&=?0xFFF0FFFF;?//設置PD89復用模式
??GPIOD->MODER?|=?0x000A0000;?
??
//??GPIOD->OTYPER?&=?0xFFFFDFFF;?//設置PD9推挽輸出
??
??GPIOD->OSPEEDR?&=?0xFFFCFFFF;?//PD8速度50m
??GPIOD->OSPEEDR?|=?0x00020000;
??
??GPIOD->PUPDR?&=?0xFFFCFFFF;?//PD8
??GPIOD->PUPDR?|=?0x0001

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????61080??2012-02-02?10:53??USART_DMA\Debug\Exe\usart.out

?????文件??????59240??2012-02-09?18:16??USART_DMA\Debug\Exe\USART_DMA.out

?????文件??????23245??2012-02-02?10:53??USART_DMA\Debug\List\usart.map

?????文件??????22374??2012-02-09?18:16??USART_DMA\Debug\List\USART_DMA.map

?????文件??????14796??2012-02-09?18:16??USART_DMA\Debug\Obj\main.o

?????文件??????58708??2012-02-04?10:41??USART_DMA\Debug\Obj\startup_stm32f4xx.o

?????文件??????11580??2012-02-04?10:41??USART_DMA\Debug\Obj\system_stm32f4xx.o

?????文件????????212??2012-02-03?20:12??USART_DMA\Debug\Obj\usart.pbd

?????文件????????212??2012-04-23?19:01??USART_DMA\Debug\Obj\USART_DMA.pbd

?????文件??????79281??2011-10-28?10:31??USART_DMA\inc\core_cm4.h

?????文件??????23979??2011-10-28?10:31??USART_DMA\inc\core_cm4_simd.h

?????文件??????15691??2011-10-28?10:31??USART_DMA\inc\core_cmFunc.h

?????文件??????16108??2011-10-28?10:31??USART_DMA\inc\core_cmInstr.h

?????文件?????530693??2011-10-28?10:31??USART_DMA\inc\stm32f4xx.h

?????文件???????2096??2011-10-28?10:31??USART_DMA\inc\system_stm32f4xx.h

?????文件????????983??2012-02-03?20:12??USART_DMA\settings\usart.cspy.bat

?????文件???????5693??2012-02-03?20:12??USART_DMA\settings\usart.dbgdt

?????文件???????1420??2012-02-03?20:12??USART_DMA\settings\usart.dni

?????文件???????3720??2012-02-02?15:40??USART_DMA\settings\usart.wsdt

?????文件????????983??2012-04-23?19:01??USART_DMA\settings\USART_DMA.cspy.bat

?????文件???????5376??2012-04-23?19:01??USART_DMA\settings\USART_DMA.dbgdt

?????文件???????1421??2012-04-23?19:01??USART_DMA\settings\USART_DMA.dni

?????文件???????3105??2012-03-26?08:39??USART_DMA\settings\usart_dma.wsdt

?????文件??????24546??2011-10-28?10:31??USART_DMA\startup\startup_stm32f4xx.s

?????文件???????1592??2011-10-03?19:51??USART_DMA\stm32f4xx_flash.icf

?????文件???????1615??2011-10-03?19:51??USART_DMA\stm32f4xx_flash_extsram.icf

?????文件???????1594??2011-10-03?19:51??USART_DMA\stm32f4xx_sram.icf

?????文件???????4227??2012-04-23?21:33??USART_DMA\USART_DMA.dep

?????文件??????48487??2012-02-03?20:35??USART_DMA\USART_DMA.ewd

?????文件??????49250??2012-02-03?20:35??USART_DMA\USART_DMA.ewp

............此處省略15個文件信息

評論

共有 條評論