91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南之DMAC在重復(fù)傳輸模式下的配置代碼

瑞薩嵌入式小百科 ? 來源:野火電子 ? 2025-12-15 11:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

19.7.1.7

使用代碼配置:重復(fù)傳輸模式

上面使用完正常傳輸模式,下面我們來試一下重復(fù)傳輸模式,其實(shí)無(wú)非就是在正常模式下多了可以指定重復(fù)傳輸?shù)拇螖?shù)的功能,就變成了重復(fù)傳輸模式??梢越Y(jié)合地址遞增模式、重復(fù)區(qū)域,來實(shí)現(xiàn)環(huán)形隊(duì)列。

下面是DMAC在重復(fù)傳輸模式下傳輸?shù)呐渲么a:

列表6:代碼清單20?5 DMAC重復(fù)傳輸模式配置

左右滑動(dòng)查看完整內(nèi)容

/* 重復(fù)傳輸模式 */
transfer_info_tmy_transfer_info_repeat =
{
.transfer_settings_word_b.dest_addr_mode = TRANSFER_ADDR_MODE_
→INCREMENTED,//每次傳輸后,目標(biāo)地址指針都會(huì)增加
.transfer_settings_word_b.repeat_area = TRANSFER_REPEAT_AREA_SOURCE,
→//源區(qū)域重復(fù) (正常模式下無(wú)效)
.transfer_settings_word_b.irq = TRANSFER_IRQ_END, ?
→//傳輸完成后中斷
.transfer_settings_word_b.chain_mode = TRANSFER_CHAIN_MODE_
→DISABLED,//不使能(DMAC 沒有該功能,僅 DTC 有)
.transfer_settings_word_b.src_addr_mode = TRANSFER_ADDR_MODE_
→INCREMENTED,//每次傳輸后,源地址指針都會(huì)增加
.transfer_settings_word_b.size = TRANSFER_SIZE_4_BYTE, ?
→//每次傳輸 4 字節(jié)
.transfer_settings_word_b.mode = TRANSFER_MODE_REPEAT, ?
→//重復(fù)傳輸模式
.p_dest = (void*) DST_Buffer, ?
→//目標(biāo)地址
.p_src = (voidconst *) SRC_Buffer, ?
→//源地址
.num_blocks =8,//指定傳輸?shù)膲K數(shù)(正常模式下無(wú)效,僅在重復(fù)、塊或重
復(fù)-塊模式下有效)
.length =4,//指定傳輸?shù)拈L(zhǎng)度(即正常的傳輸次數(shù)或重復(fù)模式下重復(fù)
大小 或 塊和重復(fù)-塊模式下傳輸?shù)膲K大?。?};
// 按照上述傳輸信息配置,期待的正確傳輸結(jié)果為:
uint32_tExpected_DST_Buffer[BUFFER_SIZE] = {
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10};

在本例程中使用以上代碼需在頭文件“bsp_dmac_m2m.h”中定義宏USE_MY_TRANSFER_INFOR_CONFIG,并且定義宏DMAC_TRANSFER_MODE等于DMAC_TRANSFER_REPEAT_MODE來選擇傳輸模式為:重復(fù)傳輸模式。

傳輸信息結(jié)構(gòu)體變量my_transfer_info_repeat用于對(duì)DMAC的傳輸進(jìn)行重配置。

讀者可跳到本章后面的“下載驗(yàn)證”小節(jié),編譯并下載程序來驗(yàn)證本實(shí)驗(yàn)例程運(yùn)行結(jié)果。

19.7.1.8

使用代碼配置:塊傳輸模式

下面是DMAC在塊傳輸模式下傳輸?shù)呐渲么a:

列表7:代碼清單20?6 DMAC塊傳輸模式配置

左右滑動(dòng)查看完整內(nèi)容

/* 塊傳輸模式 */
transfer_info_tmy_transfer_info_block =
{
.transfer_settings_word_b.dest_addr_mode = TRANSFER_ADDR_MODE_
→INCREMENTED,//每次傳輸后,目標(biāo)地址指針都會(huì)增加
.transfer_settings_word_b.repeat_area = TRANSFER_REPEAT_AREA_SOURCE,
→//源區(qū)域重復(fù) (正常模式下無(wú)效)
.transfer_settings_word_b.irq = TRANSFER_IRQ_END, ?
→//傳輸完成后中斷
.transfer_settings_word_b.chain_mode = TRANSFER_CHAIN_MODE_
→DISABLED,//不使能(DMAC 沒有該功能,僅 DTC 有)
.transfer_settings_word_b.src_addr_mode = TRANSFER_ADDR_MODE_
→INCREMENTED,//每次傳輸后,源地址指針都會(huì)增加
.transfer_settings_word_b.size = TRANSFER_SIZE_4_BYTE, ?
→//每次傳輸 4 字節(jié)
.transfer_settings_word_b.mode = TRANSFER_MODE_BLOCK, ?
→//塊傳輸模式
.p_dest = (void*) DST_Buffer, ?
→//目標(biāo)地址
.p_src = (voidconst *) SRC_Buffer, ?


.num_blocks =4,//指定傳輸?shù)膲K數(shù)(正常模式下無(wú)效,僅在重復(fù)、塊或重
復(fù)-塊模式下有效)
.length =8,//指定傳輸?shù)拈L(zhǎng)度(即正常的傳輸次數(shù)或重復(fù)模式下重復(fù)
大小 或 塊和重復(fù)-塊模式下傳輸?shù)膲K大?。?};
// 按照上述傳輸信息配置,期待的正確傳輸結(jié)果為:
uint32_tExpected_DST_Buffer[BUFFER_SIZE] = {
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x11121314,0x15161718,0x191A1B1C,0x1D1E1F20,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x11121314,0x15161718,0x191A1B1C,0x1D1E1F20,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x11121314,0x15161718,0x191A1B1C,0x1D1E1F20,
0x01020304,0x05060708,0x090A0B0C,0x0D0E0F10,
0x11121314,0x15161718,0x191A1B1C,0x1D1E1F20};

在本例程中使用以上代碼需在頭文件“bsp_dmac_m2m.h”中定義宏USE_MY_TRANSFER_INFOR_CONFIG,并且定義宏DMAC_TRANSFER_MODE等于DMAC_TRANSFER_BLOCK_MODE來選擇傳輸模式為:塊傳輸模式。

傳輸信息結(jié)構(gòu)體變量my_transfer_info_block用于對(duì)DMAC的傳輸進(jìn)行重配置。

讀者可跳到本章后面的“下載驗(yàn)證”小節(jié),編譯并下載程序來驗(yàn)證本實(shí)驗(yàn)例程運(yùn)行結(jié)果。

19.7.1.9

使用代碼配置:重復(fù)-塊傳輸模式

下面是DMAC在重復(fù)-塊傳輸模式下傳輸?shù)呐渲么a:

列表8:代碼清單20?7 DMAC重復(fù)-塊傳輸模式配置

左右滑動(dòng)查看完整內(nèi)容

/* 重復(fù)-塊傳輸模式 */
transfer_info_tmy_transfer_info_repeat_block =
{
.transfer_settings_word_b.dest_addr_mode = TRANSFER_ADDR_MODE_
→INCREMENTED,//每次傳輸后,目標(biāo)地址指針都會(huì)增加
.transfer_settings_word_b.repeat_area = TRANSFER_REPEAT_AREA_SOURCE,
→//源區(qū)域重復(fù) (正常模式下無(wú)效)
.transfer_settings_word_b.irq = TRANSFER_IRQ_EACH, ?
→//每次傳輸完成后都觸發(fā)中斷
.transfer_settings_word_b.chain_mode = TRANSFER_CHAIN_MODE_
→DISABLED,//不使能(DMAC 沒有該功能,僅 DTC 有)
.transfer_settings_word_b.src_addr_mode = TRANSFER_ADDR_MODE_
→INCREMENTED,//每次傳輸后,源地址指針都會(huì)增加
.transfer_settings_word_b.size = TRANSFER_SIZE_4_BYTE, ?
→//每次傳輸 4 字節(jié)
.transfer_settings_word_b.mode = TRANSFER_MODE_REPEAT_BLOCK,?
→//重復(fù)-塊傳輸模式
.p_dest = (void*) DST_Buffer, ?
→//目標(biāo)地址
.p_src = (voidconst *) SRC_Buffer, ?
→//源地址
.num_blocks =4,//指定傳輸?shù)膲K數(shù)(正常模式下無(wú)效,僅在重復(fù)、塊或重
復(fù)-塊模式下有效)
.length =2,//指定傳輸?shù)拈L(zhǎng)度(即正常的傳輸次數(shù)或重復(fù)模式下重復(fù)大
小 或 塊和重復(fù)-塊模式下傳輸?shù)膲K大?。?};
// 按照上述傳輸信息配置,期待的正確傳輸結(jié)果為:
uint32_tExpected_DST_Buffer[BUFFER_SIZE] = {
0x01020304,0x01020304,0x01020304,0x01020304,
0x01020304,0x01020304,0x01020304,0x01020304,
0x01020304,0x01020304,0x01020304,0x01020304,
0x01020304,0x01020304,0x01020304,0x01020304,
0x01020304,0x01020304,0x01020304,0x01020304,
0x01020304,0x01020304,0x01020304,0x01020304,
0x01020304,0x01020304,0x01020304,0x01020304,
0x01020304,0x01020304,0x01020304,0x01020304};

在本例程中使用以上代碼需在頭文件“bsp_dmac_m2m.h”中定義宏USE_MY_TRANSFER_INFOR_CONFIG,并且定義宏DMAC_TRANSFER_MODE等于DMAC_TRANSFER_REPEAT_BLOCK_MODE來選擇傳輸模式為:重復(fù)-塊傳輸模式。

傳輸信息結(jié)構(gòu)體變量my_transfer_info_repeat_block用于對(duì)DMAC的傳輸進(jìn)行重配置。

讀者可跳到本章后面的“下載驗(yàn)證”小節(jié),編譯并下載程序來驗(yàn)證本實(shí)驗(yàn)例程運(yùn)行結(jié)果。

19.7.1.10 DMAC初始化函數(shù)

若是使用FSP配置,需要設(shè)置傳輸?shù)刂?,通過調(diào)用set_transfer_dst_src_address函數(shù)來設(shè)置。

然后,調(diào)用R_DMAC_Open函數(shù)打開DMAC。需要注意,R_DMAC_Open函數(shù)需要在set_transfer_dst_src_address函數(shù)之后調(diào)用,因?yàn)樵赗_DMAC_Open函數(shù)內(nèi)部會(huì)根據(jù)我們的傳輸信息(包括傳輸?shù)刂返龋﹣砼渲玫讓?a href="http://www.makelele.cn/tags/寄存器/" target="_blank">寄存器

若是使用代碼配置DMAC的傳輸信息(即定義了宏USE_MY_TRANSFER_INFOR_CONFIG),則還需要對(duì)DMAC進(jìn)行重配置,方法是調(diào)用R_DMAC_Reconfigure函數(shù),并傳入用于DMAC 的傳輸信息配置的結(jié)構(gòu)體變量(比如my_transfer_info_normal)的首地址。

本例程中使用宏DMAC_TRANSFER_MODE來判斷傳輸模式,并根據(jù)不同的傳輸模式選擇使用以下的傳輸信息變量來進(jìn)行重配置:my_transfer_info_normal / my_transfer_info_repeat /

my_transfer_info_repeat / my_transfer_info_block / my_transfer_info_repeat_block。

DMAC初始化函數(shù)如下所示:

列表9:代碼清單20?8 DMAC初始化函數(shù)

左右滑動(dòng)查看完整內(nèi)容

/* DMAC 初始化函數(shù) */
voidDMAC_Init(void)
{
fsp_err_terr;
/* 使用 FSP 界面的配置:需要先重新設(shè)置傳輸?shù)脑吹刂泛湍康牡刂?*/
#ifndefUSE_MY_TRANSFER_INFOR_CONFIG
set_transfer_dst_src_address(&g_transfer_dmac0_cfg, SRC_Buffer, DST_
→Buffer);
#endif
/* 打開 DMAC 模塊 */
err =R_DMAC_Open(&g_transfer_dmac0_ctrl, &g_transfer_dmac0_cfg);
assert(FSP_SUCCESS == err);
/* 使用我們新的自定義的傳輸信息:重新配置傳輸 */
#ifdefUSE_MY_TRANSFER_INFOR_CONFIG
// 根據(jù)我們要使用的傳輸模式進(jìn)行選擇配置:
#if(DMAC_TRANSFER_MODE == DMAC_TRANSFER_NORMAL_MODE)//正常模式
err =R_DMAC_Reconfigure(&g_transfer_dmac0_ctrl, &my_transfer_info_
→normal);
assert(FSP_SUCCESS == err);
#elif(DMAC_TRANSFER_MODE == DMAC_TRANSFER_REPEAT_MODE)//重復(fù)模式
err =R_DMAC_Reconfigure(&g_transfer_dmac0_ctrl, &my_transfer_info_
→repeat);
assert(FSP_SUCCESS == err);
#elif(DMAC_TRANSFER_MODE == DMAC_TRANSFER_BLOCK_MODE)//塊模式
err =R_DMAC_Reconfigure(&g_transfer_dmac0_ctrl, &my_transfer_info_
→block);
assert(FSP_SUCCESS == err);
#elif(DMAC_TRANSFER_MODE == DMAC_TRANSFER_REPEAT_BLOCK_MODE)//重復(fù)-塊模式err = R_DMAC_Reconfigure(&g_transfer_dmac0_ctrl, &my_transfer_info_→repeat_block);assert(FSP_SUCCESS == err);#endif //DMAC_TRANSFER_MODE#endif //USE_MY_TRANSFER_INFOR_CONFIG}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67490
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4967

    瀏覽量

    73925
  • 初始化
    +關(guān)注

    關(guān)注

    0

    文章

    52

    瀏覽量

    12371

原文標(biāo)題:使用代碼配置:重復(fù)傳輸模式——瑞薩RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南(56)

文章出處:【微信號(hào):瑞薩嵌入式小百科,微信公眾號(hào):瑞薩嵌入式小百科】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南SPI通訊協(xié)議的結(jié)構(gòu)和功能

    RA6M5為例,SPI的功能結(jié)構(gòu)框圖如下圖所示。接下來我們大致地研究一它的結(jié)構(gòu)和功能。
    的頭像 發(fā)表于 02-03 13:53 ?707次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>FSP</b><b class='flag-5'>庫(kù)</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>指南</b><b class='flag-5'>之</b>SPI通訊協(xié)議的結(jié)構(gòu)和功能

    RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南I2C讀寫EEPROM實(shí)驗(yàn)

    使用官方提供的FPS庫(kù)進(jìn)行編程,官方提供的FPS庫(kù)具有方便、快捷、簡(jiǎn)潔的特性。
    的頭像 發(fā)表于 01-27 10:02 ?3410次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>FSP</b><b class='flag-5'>庫(kù)</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>指南</b><b class='flag-5'>之</b>I2C讀寫EEPROM實(shí)驗(yàn)

    RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南DMAC+UART串口收發(fā)實(shí)驗(yàn)

    拷貝一份我們之前的e2s工程“19_UART_Receive_Send”,然后將工程文件夾重命名為“20_DMAC_Using_UART”,最后再將它導(dǎo)入到我們的e2studio工作空間中。
    的頭像 發(fā)表于 12-26 09:28 ?4055次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b><b class='flag-5'>FSP</b><b class='flag-5'>庫(kù)</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>實(shí)戰(zhàn)</b><b class='flag-5'>指南</b><b class='flag-5'>之</b><b class='flag-5'>DMAC</b>+UART串口收發(fā)實(shí)驗(yàn)

    RA系列FSP庫(kù)開發(fā)實(shí)戰(zhàn)指南DMAC中斷回調(diào)函數(shù)等

    調(diào)用R_DMAC_SoftwareStart函數(shù)來發(fā)起軟件觸發(fā)請(qǐng)求信號(hào)來啟動(dòng)DMAC傳輸。
    的頭像 發(fā)表于 12-26 09:25 ?4797次閱讀

    RA6E2地奇星開發(fā)板試用】開發(fā)板介紹及環(huán)境搭建

    物聯(lián)網(wǎng)、工業(yè)控制、智能硬件等場(chǎng)景。 核心參數(shù)一覽 項(xiàng)目 規(guī)格 主控芯片 R7FA6E2BB3CNE( RA6E2 系列) 內(nèi)核 Arm Cortex-M33(帶 TrustZone
    發(fā)表于 12-22 00:40

    FSP6.2:RA8新品支持與功能大升級(jí)!

    FSP(FlexibleSoftwarePackage)靈活配置軟件包是電子(Renesas)為RA
    的頭像 發(fā)表于 12-17 12:04 ?586次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>FSP</b>6.2:<b class='flag-5'>RA</b>8新品支持與功能大升級(jí)!

    靈活配置軟件包FSP 6.2.0版本的更新內(nèi)容

    FSP(Flexible Software Package)靈活配置軟件包是電子(Renesas)為RA
    的頭像 發(fā)表于 12-11 16:42 ?940次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>靈活<b class='flag-5'>配置</b>軟件包<b class='flag-5'>FSP</b> 6.2.0版本的更新內(nèi)容

    RA6E2地奇星開發(fā)板試用】介紹、環(huán)境搭建、工程測(cè)試

    RA6E2開發(fā)板 - 立創(chuàng)開源硬件平臺(tái) . 開發(fā)環(huán)境 開發(fā)環(huán)境支持 e^2^ studio 和 Keil ,這里主要介紹和使用前者。 下載并安裝
    發(fā)表于 12-07 15:27

    RA系列MCU中的DMAC和DTC關(guān)鍵特性對(duì)比

    FSP庫(kù)里邊的傳輸API可以由DMAC或者DTC實(shí)現(xiàn),因此理論上來說我們可以DMAC和DTC之間切換使用。但是
    的頭像 發(fā)表于 12-02 13:56 ?8028次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b><b class='flag-5'>系列</b>MCU中的<b class='flag-5'>DMAC</b>和DTC關(guān)鍵特性對(duì)比

    RA6E2】E2S軟件安裝過程,等待過程玩97_e2 studio_ZGZZ

    ;amp;vd_source=7ab92f6a337b22fda39554fd6e70f01a 本報(bào)告旨在記錄基于RA6E2 MCU評(píng)估板的初步開發(fā)體驗(yàn)。主要內(nèi)容包括: 軟件
    發(fā)表于 12-01 22:42

    RA2L1 MCU e2 studio和FSP的使用指南

    本期“RA MCU眾測(cè)寶典” 繼續(xù)聚焦 “環(huán)境搭建” 專題,帶大家走進(jìn)【RA-Eco-RA2L1-48PIN-V1.0】的世界,查看e2 studio和FSP的下載、安裝及使用指南從零
    的頭像 發(fā)表于 08-04 13:45 ?2870次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b><b class='flag-5'>RA</b>2L1 MCU e2 studio和<b class='flag-5'>FSP</b>的使用<b class='flag-5'>指南</b>

    RA4L1-SENSOR】DMAC傳輸數(shù)據(jù)

    中斷請(qǐng)求激活時(shí)傳輸數(shù)據(jù)。 DTC 也可以不占用 CPU 的情況將數(shù)據(jù)傳輸,它的功能與 DMAC 的功能其實(shí)是相似的。 這里我們簡(jiǎn)單介紹
    發(fā)表于 07-05 08:23

    RA4L1-SENSOR】RA4L1-SENSOR開發(fā)版開箱評(píng)測(cè)+e2studio軟件安裝

    和調(diào)試的開發(fā)工具。 e2 studio 基于開源Eclipse IDE和與相關(guān)的C/C++開發(fā)工具(CDT)。 e2 studio 托管了
    發(fā)表于 06-12 23:23

    電子RA系列微控制器的可擴(kuò)展性強(qiáng)的配置軟件包 (FSP)安裝下載與使用指南

    電子RA系列微控制器的可擴(kuò)展性強(qiáng)的配置軟件包 (FSP)安裝下載與使用
    的頭像 發(fā)表于 06-11 17:21 ?1833次閱讀

    RA2L1入門學(xué)習(xí)】RA2L1開發(fā)環(huán)境搭建

    e2 studio 和 FSP 的下載、安裝及使用指南 1. 什么是 e2 studio 和 FSP? e2 studio 是電子(Re
    發(fā)表于 03-07 11:33