【经验】瑞萨RA系列微控制器DMAC功能使用介绍
在很多应用了瑞萨RA系列微控制器的项目(例如笔者服务的温控器项目)中,经常需要用到数据传输,单一的ADC采样获取数据较为麻烦且耗费MCU资源,为了数据传输方便,我们常会在此类项目中用到瑞萨RA系列微控制器DMAC的功能,它可以应用到ADC和串口等需要大量数据传输的地方。
直接内存访问控制器(DMAC)是将数据从一个存储位置传输到另一个存储位置,而无需使用CPU,以下主要介绍在RA中操作DMAC的方法。
在RA项目中使用时,首先需要通过r_dmac上的New Stack> Driver> Transfer> Transfer Driver将该模块添加到Stacks选项卡中。
打开传输例程启用初始化配置:
R_DMAC_Open(&g_transfer_ctrl, &g_transfer_cfg);
使能DMAC去操作即将到来的传输请求:
R_DMAC_Enable(&g_transfer_ctrl);
volatile bool g_transfer_complete = false;
uint8_t p_src[TRANSFER_LENGTH];
uint8_t p_det[TRANSFER_LENGTH];
/* Initialize p_src to [ABC..OP] */
for (uint32_t i = 0; i < TRANSFER_LENGTH; i++)
{
p_src[i] = (uint8_t) ('A' + (i % 26));
}
设置传输源地址:
g_transfer_cfg.p_info->p_src = (void *) p_src;
设置传输目的地址:
g_transfer_cfg.p_info->p_dest = (void *)p_det;
打开传输例程启用初始化配置:
R_DMAC_Open(&g_transfer_ctrl, &g_transfer_cfg);
使能DMAC去操作即将到来的传输请求:
(void) R_DMAC_Enable(&g_transfer_ctrl);
清除传输完成标志:
g_transfer_complete = false;
使用软件触发传输:
R_DMAC_SoftwareStart(&g_transfer_ctrl, TRANSFER_START_MODE_SINGLE);
while (!g_transfer_complete)
{
/* Wait for transfer complete interrupt */
}
用户DMAC接收完毕处理代码:
if(g_transfer_complete == true)
{
/******User's code ******/
}
回调函数处理:
void dmac_callback (dmac_callback_args_t * cb_data)
{
FSP_PARAMETER_NOT_USED(cb_data);
g_transfer_complete = true;
}
以上主要介绍在RA项目中使用DMAC的最简单的方法,帮助大家快速掌握瑞萨RA系列MCU的DMAC使用方法。
- |
- +1 赞 0
- 收藏
- 评论 1
本文由Park_世强提供,版权归世强硬创平台所有,非经授权,任何媒体、网站或个人不得转载,授权转载时须注明“来源:世强硬创平台”。
相关推荐
【经验】瑞萨微控制器RL78/F14的CAN发送功能调试经验分享
瑞萨RL78/F14微控制器被定位为RL78/F13的上一级产品,可在30至100引脚,48至256KB的闪存阵容,并实现业界最低水平的消费当前。本文以F14系列的R5F10PMF为例进行CAN的发送功能调试经验分享。
设计经验 发布时间 : 2021-09-16
【经验】瑞萨RL78微控制器CAN模块基础使用指引,以RL78/F13系列的R5F10BBF微控制器为例
瑞萨汽车电子推出的RL78/F13微控制器系列,集成车载CAN总线模块,支持ISO11898-1 ,CAN2.0A&B协议。适用于汽车控制系列,如BCM,空调控制,TPMS,RKE,PEPS等运用。 本文以R5F10BBF为例,介绍瑞萨RL78芯片的CAN模块基本配置。
设计经验 发布时间 : 2018-11-02
【经验】瑞萨RL78/F1微控制器EEPROM库(EEL)调试出现相关错误状态该如何解决?
笔者在协助调试瑞萨RL78/F1微控制器的EEPROM操作EEL库时,发现用户对于瑞萨RL78系列的EEPROM模拟的EEL库的一些返回错误不太了解,而直接忽略了一些操作错误。在出现一些错误时,我们应该采取一定的处理措施。包括如:调用EEL初始化函数,调用启动函数startup,分配对应的EEPROM数据ID等。
设计经验 发布时间 : 2018-09-04
CX32L003 ARM® Cortex®-M0+ 32位微控制器数据手册
型号- CX32L003,CX32L003 系列,CX32L003F8 系列,CX32L003F8,CX32L003F6 系列,CX32L003F6P6T,CX32L003F8P6U,CX32L003F6Q6R,CX32L003F8Q6T,CX32L003F8P6T,CX32L003F8Q6R,CX32L003F6,CX32L003F8P6X,CX32L003F6P6U,CX32L003F6Q6T,CX32L003系列,CX32L00306,CX32L00308
HC32L190 系列 / HC32L196 系列32 位 ARM® Cortex®-M0+ 微控制器
型号- HC32L190 系列,HC32L196PCTA,HC32L196MCTA,HC32L190,HC32L196JCTA,HC32L196 系列,HC32L190JCTA,HC32L196KCTA,HC32L190FCUA,HC32L196
BAT32G127基于 ARM® Cortex®-M0+的超低功耗 32 位微控制器内置 128K 字节 Flash,丰富的模拟功能,定时器及各种通讯接口数据手册
型号- BAT32G127GH64FB,BAT32G127GH64FA,BAT32G127,BAT32G127GH40NB,BAT32G127GH48FA
【选型】ROHM(罗姆)LAPIS 8/16/32bit微控制器(MCU)选型指南(中文)
目录- LAPIS微控制器产品介绍 通用微控制器(16bit) 低功耗微控制器(16bit) 低工作电压微控制器(8bit) 语音播放微控制器(8bit) USB、安全微控制器(32bit) 低功耗微控制器(8bit/16bit)开发支援系统 微控制器产品选型表
型号- ML62Q1713,ML610Q419C-NNNTBXXXX,ML62Q1714,ML62Q1711,ML62Q1557,ML62Q1712,ML62Q1555,ML62Q1710,ML62Q1556,ML62Q1723C,ML610Q429,ML62Q1553,ML62Q1554,ML62Q1551,ML62Q1552,ML62Q1550,ML610Q431,ML610Q438,ML620Q503H,ML610Q439,ML610Q436,ML610Q435,ML62Q1704,ML610Q432,ML62Q1724,ML62Q1725,ML62Q1722,ML62Q1723,ML62Q1323,ML62Q1720,ML62Q1566,ML62Q1721,ML62Q1567,ML62Q1734C,ML62Q1325,ML610Q418,ML62Q1564,ML62Q1324,ML610Q419,ML62Q1565,ML62Q1563,ML62Q1544C,MODEL400E+系列,MWU16,ML610Q306,ML610Q428,ML610Q304,ML610Q426,ML610Q305,ML610Q300,ML620Q504H,ML610Q421,ML610Q422,ML62Q1533,ML610Q409,ML62Q1733C,ML62Q1534,ML62Q1531,ML610Q407,ML62Q1532,ML610Q408,ML62Q1543C,ML62Q1530,ML610Q412,ML610Q411,ML62Q1702,ML62Q1703,ML620Q500,ML62Q1700,ML62Q1701,ODEL416E+,ML62Q1544,ML62Q1300,ML62Q1543,ML62Q1540,ML62Q1554C,ML62Q1541,ML610Q418C,ML610Q482,ML610Q400,ML62Q1878,ML62Q1879,MODEL404E+,ML630Q400,ML62Q1553C,ML62Q1367□-NNNTBXXXX,MODEL408E+,EASE1000 V2,ML610482,ML610400,ML62Q1869,ML62Q1748,AF9201,ML62Q1749,ML62Q1800,ML62Q1366,ML62Q1367,ML62Q1714C,ML62Q1000,ML62Q1365,ML62Q1564C,ML62Q1735,ML62Q1736,ML62Q1733,ML62Q1734,ML62Q1335,ML62Q1577,ML62Q1333,ML62Q1713C,ML62Q1575,ML62Q1334,ML62Q1576,ML62Q1573,ML62Q1574,ML62Q1563C,ML62Q1728,ML62Q1729,ML62Q1726,ML62Q1727,ML62Q1746,ML62Q1868,ML62Q1747,ML62Q1744,ML62Q1745,ML62Q1500,ML62Q1346,ML62Q1347,ML62Q1743,ML62Q1724C,ML62Q1345,ML62Q1000系列,ML62Q1739,ML62Q1737,ML62Q1859,ML62Q1738
HC32F170 系列/ HC32F176 系列32位ARM® Cortex®-M0+ 微控制器
型号- HC32F176 系列,HC32F170,HC32F176JATA,HC32F170FAUA,HC32F170LATA,HC32F170JATA,HC32F170 系列,HC32F176,HC32F170JATH,HC32F176KATA,HC32F176PATA,HC32F176MATA
ZB32L003 ARM® Cortex®-M0+ 32 位 微控制器 用户参考手册
型号- ZB32L003F8,ZB32L003F8 系列,ZB32L003F6,ZB32L003F6 系列,ZB32L003,ZB32L003 系列
【应用】国产复位芯片SGM809B-SXN3G/TR用于彩屏温控器,最小上电脉冲时延低至150ns
SGM809B-SXN3G/TR是一款圣邦微的微控制器检测与复位集成芯片,在上电状态下,内部计时器维持一个240ms的重置断言,它使微处理器处于重置状态,直到条件稳定。用于彩屏温控器,最小上电脉冲时延低至150ns。
应用方案 发布时间 : 2022-12-22
HC32L072 系列 / HC32L073 系列32 位 ARM® Cortex®-M0+ 微控制器
型号- HC32L072FAUA,HC32L072PATA,HC32L072 系列,HC32L072,HC32L073 系列,HC32L073,HC32L073PATA,HC32L073KATA,HC32L073JATA,HC32L072KATA,HC32L072JATA
ZB32L032 ARM® Cortex®-M0+ 32-bit Micro-Controller Datasheet
型号- ZB32L032K8T6R,ZB32L032K8Q6T,ZB32L032G8P6T,ZB32L032XXX,ZB32L032C8T6,ZB32L032 系列,ZB32L032C8T6R,ZB32L032
【产品】超低功耗32位微控制器CX32L003,最高工作频率24MHz,工作电压2.5~5.5V
CX32L003是恒烁推出的一款内嵌32位ARM®Cortex®-M0+内核的超低功耗、Low Pin Count和宽电压工作范围(2.5V~5.5V)的微控制器,最高可运行在24MHz,内置32K/64K字节的嵌入式Flash,4K字节的SRAM。
产品 发布时间 : 2023-09-01
ZB32L030 ARM® Cortex®-M0+ 32bit Micro-Controller Datasheet
型号- ZB32L030G8P6T,ZB32L030K8Q6T,ZB32L030C8T6,ZB32L030,ZB32L030XXX,ZB32L030K8T6R,ZB32L030C8T6R,ZB32L030 系列
【应用】基于低功耗32位MCU EFM32G2X的智能温控器节能解决方案
采用Silicon Labs的ARM Cortex-M3内核EFM32是全球最低功耗的32位MCU,外设丰富,5大超低模式,非常适用于智能温控器。无线WIFI模块采用WGM110,具有卓越的射频性能,并可提供远程范围的稳定无线连接和安全性。
方案 发布时间 : 2019-07-30
电子商城
现货市场
服务
可定制板装式压力传感器支持产品量程从5inch水柱到100 psi气压;数字输出压力传感器压力范围0.5~60inH2O,温度补偿范围-20~85ºС;模拟和数字低压传感器可以直接与微控制器通信,具备多种小型SIP和DIP封装可选择。
提交需求>
定制水冷板尺寸30*30mm~1000*1000 mm,厚度1mm~50mm,散热能力最高50KW,承压可达3MPA;液冷机箱散热能力达500W~100KW。项目单次采购额需满足1万元以上,或年需求5万元以上。
提交需求>
登录 | 立即注册
提交评论