资源简介
简化正点原子的DMA发送程序,添加DMA发送中断,发送中断内更改引脚电平
简化正点原子的DMA发送程序,添加DMA发送中断,发送中断内更改引脚电平
代码片段和文件信息
#include “dma.h“
#include “led.h“
u8 SendBuff[SENDBUF_SIZE];
void NVIC_Config(void)
{
NVIC_InitTypeDef NVIC_InitStructure;
NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel4_IRQn;
NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;
NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
NVIC_Init(&NVIC_InitStructure);
}
//DMA1的各通道配置
//这里的传输形式是固定的这点要根据不同的情况来修改
//从存储器->外设模式/8位数据宽度/存储器增量模式
//DMA_CHx:DMA通道CHx
//cpar:外设地址
//cmar:存储器地址
//cndtr:数据传输量
void MYDMA_Config(void)
{
DMA_InitTypeDef DMA_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1 ENABLE); //使能DMA传输
DMA_DeInit(DMA1_Channel4); //将DMA的通道1寄存器重设为缺省值
DMA_InitStructure.DMA_PeripheralbaseAddr = (u32)&USART1->DR; //DMA外设ADC基地址
DMA_InitStructure.DMA_MemorybaseAddr = (u32)SendBuff; //DMA内存基地址
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralDST; //数据传输方向,从内存读取发送到外设
DMA_InitStructure.DMA_BufferSize = SENDBUF_SIZE; //DMA通道的DMA缓存的大小
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable; //外设地址寄存器不变
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Enable; //内存地址寄存器递增
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_Byte; //数据宽度为8位
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Byte; //数据宽度为8位
DMA_InitStructure.DMA_Mode = DMA_Mode_Normal; //工作在正常缓存模式
DMA_InitStructure.DMA_Priority = DMA_Priority_Medium; //DMA通道 x拥有中优先级
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable; //DMA通道x没有设置为内存到内存传输
DMA_Init(DMA1_Channel4 &DMA_InitStructure); //根据DMA_InitStruct中指定的参数初始化DMA的通道USART1_Tx_DMA_Channel所标识的寄存器
DMA_ITConfig(DMA1_Channel4DMA_IT_TCENABLE); //配置DMA发送完成后产生中断
USART_DMACmd(USART1USART_DMAReq_TxENABLE);
NVIC_Config();
}
//开启一次DMA传输
void MYDMA_Enable(void)
{
DMA_Cmd(DMA1_Channel4 DISABLE ); //关闭USART1 TX DMA1 所指示的通道
DMA_SetCurrDataCounter(DMA1_Channel4SENDBUF_SIZE);//DMA通道的DMA缓存的大小
DMA_Cmd(DMA1_Channel4 ENABLE); //使能USART1 TX DMA1 所指示的通道
}
void DMA1_Channel4_IRQHandler(void)
{
//判断是否为DMA发送完成中断
if(DMA_GetFlagStatus(DMA1_FLAG_TC4)==SET)
{
//LED关闭
LEDXToggle();
DMA_ClearFlag(DMA1_FLAG_TC4);
}
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 6956 2015-12-10 17:06 usart\DebugConfig\Target_1_STM32F103VE.dbgconf
文件 2446 2017-09-10 10:50 usart\dma.c
文件 189 2017-09-10 10:50 usart\dma.h
文件 339 2017-09-10 10:55 usart\EventRecorderStub.scvd
文件 603 2017-09-10 10:50 usart\led.c
文件 362 2017-09-10 10:50 usart\led.h
文件 54948 2017-09-09 22:45 usart\Listings\startup_stm32f10x_hd.lst
文件 78536 2017-09-10 10:50 usart\Listings\usart2.map
文件 530 2017-09-10 10:50 usart\main.c
文件 271763 2017-09-09 22:12 usart\ob
文件 1336 2017-09-09 22:12 usart\ob
文件 298408 2017-09-09 22:12 usart\ob
文件 270914 2017-09-10 10:50 usart\ob
文件 1298 2017-09-10 10:50 usart\ob
文件 299028 2017-09-10 10:50 usart\ob
文件 270223 2017-09-10 10:50 usart\ob
文件 1274 2017-09-10 10:50 usart\ob
文件 294396 2017-09-10 10:50 usart\ob
文件 270675 2017-09-10 10:50 usart\ob
文件 1343 2017-09-10 10:50 usart\ob
文件 297448 2017-09-10 10:50 usart\ob
文件 270870 2017-09-09 22:45 usart\ob
文件 1438 2017-09-09 22:45 usart\ob
文件 299140 2017-09-09 22:45 usart\ob
文件 81 2017-09-09 22:45 usart\ob
文件 6836 2017-09-09 22:45 usart\ob
文件 273962 2017-09-09 22:45 usart\ob
文件 1600 2017-09-09 22:45 usart\ob
文件 309676 2017-09-09 22:45 usart\ob
文件 274368 2017-09-09 22:45 usart\ob
............此处省略44个文件信息
- 上一篇:基于实景图像的道路限速标志检测算法研究
- 下一篇:音乐播放器 安卓
相关资源
- STM32四通道4-20ma
- 声音传感器程序-STM32
- 基于stm32的温湿度采集显示系统设计
- STM32串行12864液晶显示
- stm32的TIM1带死区互补输出六路PWM波
- STM32无需外接解码芯片播放音乐
- STM32-PWM输出源码
- STM32F429 USB HID
- 2019电赛舵机云台控制代码.zip
- STM32 OLED显程
- 基于stm32的数字示波器c程序绝对完整
- FreeModbus--RTU--Master+Slave--uCOSIII--STM32F
- 基于STM32F4的小兵与大炮游戏
- keil.Jansson.1.0.0.pack
- OLED驱动STM32
- stm32 5路循迹智能小车资料,可遥控
- STM32F103VET6驱动HC-SR04.rar
- 旋钮编码器STM32F407
- stm32 407ad7606 程序开fa
- 基于STM32的简易脉搏计的设计
- AS608指纹模块和ESP8266wifi模块在STM32f
- STM32 RFID RC522 模拟SPI 读写卡程序
- stm32单片机实现心电图采样以及显示
- 基于stm32的hmc5983和mpu6500的驱动程序
- STM32F091多串口程序
- 通过串口控制呼吸灯的频率
- STM32快递箱程序密码界面+舵机开锁+称
-
stm32 keil用jli
nk4.40驱动 - stm32f103 编码器测试程序
- ADF4351控制代码
评论
共有 条评论