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

歷史上的今天

今天是:2025年07月10日(星期四)

2018年07月10日 | STM32入門學(xué)習(xí)之DMA(STM32F030F4P6基于CooCox IDE)

發(fā)布者:數(shù)字翻飛 來源: eefocus關(guān)鍵字:STM32  DMA  STM32F030F4P6  CooCox  IDE 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

代碼基于STM32F030F4P6,用例為DMA控制串口發(fā)送,需要注意以下幾點(diǎn)

1、注意串口IO配置,包括IO配置和復(fù)用功能選擇

2、STM32F030系列的DMA不支持外設(shè)到外設(shè),STM32F030只有DMA1,沒有DMA2

3、注意不同外設(shè)對(duì)應(yīng)不同DMA通道,而且不同芯片的通道也不一定相同,注意看數(shù)據(jù)手冊(cè)

直接代碼如下:


#include "stm32_lib/inc/stm32f0xx_rcc.h"

#include "stm32_lib/inc/stm32f0xx_gpio.h"

#include "stm32_lib/inc/stm32f0xx_usart.h"

#include "stm32_lib/inc/stm32f0xx_dma.h"

 

//以下兩種地址寫法都可以

#define USART1_TDR_Address ((uint32_t)(USART1_BASE+0x28))

//#define USART1_TDR_Address (uint32_t)(&USART1->TDR)

 

unsigned char hellStr[]={'H','E','L','L','O'};

 

void RCC_Config(void);

void GPIO_Config(void);

void USART_Config(void);

void DMA_Config(void);

 

int main(void)

{

 

SystemInit();

 

RCC_Config();

GPIO_Config();

USART_Config();

DMA_Config();

 

//使能DMA通道2,意味著開始傳輸

DMA_Cmd(DMA1_Channel2,ENABLE);

 

while (1)

{

 

}

}

 

void RCC_Config(void)

{

//時(shí)鐘配置

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1,ENABLE);

}

void GPIO_Config(void)

{

//選擇引腳

//針對(duì)F030F4P6,TX有PA2和PA9可選,RX有PA3和PA10可選,特別注意查看文檔是AF多少

//GPIO_PinAFConfig(GPIOA,GPIO_PinSource2,GPIO_AF_1);

//GPIO_PinAFConfig(GPIOA,GPIO_PinSource3,GPIO_AF_1);

GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_1);

GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_1);

//引腳設(shè)置

GPIO_InitTypeDef PORT_UART1_TX; //定義TX腳,PORT_UART1_TX是自定義名稱,可以任意

PORT_UART1_TX.GPIO_Pin = GPIO_Pin_9; //此參數(shù)根據(jù)上面選擇的引腳來定

PORT_UART1_TX.GPIO_Speed = GPIO_Speed_10MHz;

PORT_UART1_TX.GPIO_Mode = GPIO_Mode_AF;

PORT_UART1_TX.GPIO_PuPd = GPIO_PuPd_NOPULL;

//IO初始化

GPIO_Init(GPIOA, &PORT_UART1_TX);

 

GPIO_InitTypeDef PORT_UART1_RX; //定義RX腳

PORT_UART1_RX.GPIO_Pin = GPIO_Pin_10; //此參數(shù)根據(jù)上面選擇的引腳來定

PORT_UART1_RX.GPIO_Speed = GPIO_Speed_10MHz;

PORT_UART1_RX.GPIO_Mode = GPIO_Mode_AF;

PORT_UART1_RX.GPIO_PuPd = GPIO_PuPd_NOPULL;

GPIO_Init(GPIOA, &PORT_UART1_RX);

}

 

void USART_Config(void)

{

//串口參數(shù)配置

USART_InitTypeDef USART_InitStructure;

USART_InitStructure.USART_BaudRate = 115200; //設(shè)置波特率

USART_InitStructure.USART_WordLength = USART_WordLength_8b; //設(shè)置數(shù)據(jù)長度

USART_InitStructure.USART_Parity = USART_Parity_No; //設(shè)置奇偶校驗(yàn)

USART_InitStructure.USART_StopBits = USART_StopBits_1; //設(shè)置停止位

USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None; //設(shè)置流控制

USART_InitStructure.USART_Mode = USART_Mode_Tx | USART_Mode_Rx; //設(shè)置模式

USART_Init(USART1, &USART_InitStructure);

//使能DMA發(fā)送

USART_DMACmd(USART1,USART_DMAReq_Tx,ENABLE);//串口1發(fā)射 DMA使能

//使能

USART_Cmd(USART1, ENABLE);

}

 

void DMA_Config(void)

{

//特別注意,對(duì)于STM32F030F4P6,USART1_TX對(duì)應(yīng)通道2,注意看數(shù)據(jù)手冊(cè)

DMA_DeInit(DMA1_Channel2);

DMA_InitTypeDef DMA_InitStructure;

DMA_InitStructure.DMA_PeripheralBaseAddr=USART1_TDR_Address;

DMA_InitStructure.DMA_MemoryBaseAddr=(uint32_t)hellStr;

DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralDST;

DMA_InitStructure.DMA_BufferSize=5;

DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;

DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Enable;

DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Byte;

DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_Byte;

DMA_InitStructure.DMA_Mode=DMA_Mode_Normal;

DMA_InitStructure.DMA_Priority=DMA_Priority_High;

DMA_InitStructure.DMA_M2M=DMA_M2M_Disable;

DMA_Init(DMA1_Channel2,&DMA_InitStructure);

}


關(guān)鍵字:STM32  DMA  STM32F030F4P6  CooCox  IDE 引用地址:STM32入門學(xué)習(xí)之DMA(STM32F030F4P6基于CooCox IDE)

上一篇:STM32F030系列實(shí)現(xiàn)仿位帶操作
下一篇:STM32F030F4P6 Flash容量問題

推薦閱讀

stm32的FLASH分為主存儲(chǔ)塊、信息塊和閃存存儲(chǔ)器接口寄存器等 3 部分組成。主存儲(chǔ)塊用于保存具體的程序代碼和用戶數(shù)據(jù)。起始地址0x08000000,b0和b1接GND從這里開始執(zhí)行程序。信息塊用于負(fù)責(zé)由stm32出廠時(shí)放置2KB的啟動(dòng)程序(BootLoader)和512B的用戶配置信息區(qū)。啟動(dòng)程序代碼,是用來存儲(chǔ)ST 自帶的啟動(dòng)程序,b0接3.3v,b1接GND運(yùn)行的就是這部分代碼 ,用作...
一、低功耗模式1、概述 2. 身邊應(yīng)用的例子A. 電腦 A. 小米手環(huán) 二、睡眠模式 三、停止模式 關(guān)于PWR_EnterSTOPMode的參數(shù)PWR_MainRegulator_ON與PWR_LowPowerRegulator_ON的區(qū)別:#define PWR_M...
7月8日,奔馳發(fā)布全新S級(jí)車機(jī)MBUX內(nèi)容。這種改變對(duì)于這家百年企業(yè)來講幾乎是劃時(shí)代的,他正在用實(shí)際行動(dòng)證明著全面數(shù)字化的腳步。新四化的浪潮下,以BBA為首的豪華品牌一直被視為向數(shù)字化轉(zhuǎn)身較慢的梯隊(duì)之一。然而如今看來,面對(duì)這種觀點(diǎn),豪華品牌回以的是“只要我想,就能做到”的霸氣宣言。在全新S級(jí)車機(jī)MBUX系統(tǒng)中,幾乎做到了全方位的數(shù)字化,我們可...

史海拾趣

小廣播
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開發(fā)圈

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

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 罗源县| 德保县| 呼玛县| 修武县| 河间市| 保亭| 大化| 宝应县| 含山县| 洮南市| 灌南县| 佛山市| 长丰县| 崇明县| 乌恰县| 东兰县| 建昌县| 兰坪| 周口市| 望奎县| 汕尾市| 保德县| 甘孜县| 留坝县| 孟津县| 惠水县| 堆龙德庆县| 萝北县| 象州县| 姜堰市| 拜城县| 涡阳县| 临夏市| 瑞金市| 禹州市| 滕州市| 天峨县| 喀喇| 循化| 岳普湖县| 古田县|