衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

在RZ/T2M和RZ/N2L中Printf添加方法(使用查詢模式實現UART)

瑞薩MCU小百科 ? 來源:瑞薩嵌入式小百科 ? 2024-05-21 14:08 ? 次閱讀

瑞薩RZ/N2L MPU

RZ/N2L是一種工業以太網通信用MPU,可輕松將網絡功能添加到工業設備中。它搭載支持TSN的三端口千兆以太網交換機和EtherCAT從控制器,可支持EtherCAT、PROFINET RT/IRT、EtherNet/IP、OPC UA等主要的工業以太網通信協議。它對網絡專用配套芯片加以優化,無需大幅改變設備的內部配置即可直接連接并快速訪問外部應用主機CPU

此外,Arm Cortex-R52的最大工作頻率為400MHz,外設功能包括帶ECC的大容量RAM與ΔΣ I/F、A/D轉換器、PWM定時器UARTCAN等,可在單個芯片上實現遠程I/O、傳感器集線器、變頻器和網關。

4cc8f084-1727-11ef-b74b-92fbcf53809c.png

瑞薩RZ/T2M MPU

RZ/T2M是一款行業領先的高性能、多功能MPU,可實現AC伺服系統和工業電機等工業設備的高速處理、高精度控制和功能安全。RZ/T2M具有最大頻率為800 MHz的雙Arm Cortex-R52內核,可進行實時控制,而且還擁有能夠與CPU直接連接的大容量緊密耦合內存(576KB),以實現高性能實時處理。

此外,它還可以將電機控制的外設布置到能直接連接至CPU的LLPP(低延遲外設端口)上,來實現較低的延遲訪問。RZ/T2M擁有多協議編碼器硬件接口,可為A-format、EnDat 和BiSS等各種絕對編碼器協議提供支持。此外,RZ/T2M還擁有一個3端口的千兆以太網交換機,可為TSN標準及EtherCAT、PROFINET RT/IRT和EtherNet/IP等工業以太網協議提供支持,而無需額外的以太網交換機IC

4d142afe-1727-11ef-b74b-92fbcf53809c.png

在項目調試過程中經常會用到printf函數,但是有時候printf函數需要運行在不打開中斷的情況下,但是官方FSP給出的UART驅動使用的是中斷模式,下面介紹一種使用查詢模式實現UART的方式。

FSP的配置

1

添加UART模塊,為了使用printf設置fsp配置器如下,選擇使用fifo模式來提高效率,UART的通道可以根據自己的硬件設計任意選取。

4d337666-1727-11ef-b74b-92fbcf53809c.png

2

如果使用標準輸入函數,需要選擇接收UART的接收FIFO的trigger level是1,這樣只要收到一個數據就可以產生uart接收標志。

4d5936d0-1727-11ef-b74b-92fbcf53809c.png

編譯器配置

在工程上點右鍵選擇Properties → C/C++ Build → setting,然后按照下圖來設置編譯器。

4d8bc1b8-1727-11ef-b74b-92fbcf53809c.png

選擇Do not use syscalls。

添加代碼

1

添加初始化程序

static R_SCI0_Type *uart_reg=NULL;
void uart_no_intp_init(uart_ctrl_t * const p_api_ctrl, uart_cfg_t const * const p_cfg)
{
  if(uart_reg != NULL)return;
  R_SCI_UART_Open(p_api_ctrl, p_cfg);
  R_BSP_IrqDisable(p_cfg->txi_irq);
  R_BSP_IrqDisable(p_cfg->tei_irq);
  R_BSP_IrqDisable(p_cfg->rxi_irq);
  R_BSP_IrqDisable(p_cfg->rxi_irq);
  uart_reg = ((sci_uart_instance_ctrl_t *)p_api_ctrl)->p_reg;
}

調用這個函數時,將hal_data.c的uart實例的cfg和ctrl作為參數即可,調用完后UART的寄存器地址會保存在uart_reg內,以備write和read使用。

2

添加write和read函數

int32_t _write(int32_t file_no,int8_t *buffer,uint32_t writing_b)
{
  uint32_t tempcnt=writing_b;
  (void) ((file_no));
  if(writing_b ==0)return 0;
  if(uart_reg==NULL)return -1;
  while(tempcnt!=0)
  {
     while(uart_reg->FTSR>13);
     uart_reg->TDR_b.TDAT = (uint8_t)*buffer;
     __DSB();
     buffer++;
     tempcnt--;
  }
  return writing_b;
}
/*******************************************************************************
* Function Name: SioRead
* Description : The character strings specified with buffer is input for
*       : n bytes from serial port.The input is determined by file number fileno.
*       : The effective input in this version is STDIN.
* Arguments  : int32_t file_no ; I : File number to be the target of reading
*       : int_t * buffer  ; O : Pointer to the area in which reading data is stored
*       : uint32_t reading_b; I : Reading bytes
* Return Value : >0 : Number of receiving characters
*       : -1 : File number, receiving data error
*******************************************************************************/
 
int32_t _read (int32_t file, int8_t *ptr, uint32_t len)
{
  (void) ((file));
  if(uart_reg==NULL)return 0;
  if(uart_reg->FRSR_b.R!=0)
  {
    *ptr = (uint8_t)uart_reg->RDR_b.RDAT;
    __DSB();
  }
  else
  {
    return 0;
  }
  return 1;
}

3

使用方法

先調用初始化函數后就可以使用了,下面是一個初始化的調用例子:

 uart_no_intp_init(&g_uart0_ctrl,&g_uart0_cfg);

g_uart0_ctrl和g_uart0_cfg是 FSP生成的兩個變量。



審核編輯:劉清

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 以太網通信
    +關注

    關注

    2

    文章

    52

    瀏覽量

    11082
  • 變頻器
    +關注

    關注

    251

    文章

    6584

    瀏覽量

    145806
  • 交換機
    +關注

    關注

    21

    文章

    2656

    瀏覽量

    100174
  • EtherCAT控制器

    關注

    0

    文章

    17

    瀏覽量

    601

原文標題:在RZ/T2M和RZ/N2L中Printf添加方法(UART使用查詢模式)

文章出處:【微信號:瑞薩MCU小百科,微信公眾號:瑞薩MCU小百科】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    RZ/T2M RZ/N2L RZ/T2L系列應用心得

    RZ/T2MRZ/N2L共用各種軟件協議棧支持情況。
    的頭像 發表于 11-15 16:09 ?2544次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> <b class='flag-5'>RZ</b>/<b class='flag-5'>T2L</b>系列應用心得

    RZ/T2M RZ/N2L RZ/T2L系列應用心得(上)

    T2M R9A07G075M28GBG#AC0為例,官網找到RZ/T2M產品頁,然后向下找到Product option界面。
    的頭像 發表于 12-29 12:23 ?3158次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> <b class='flag-5'>RZ</b>/<b class='flag-5'>T2L</b>系列應用心得(上)

    RZ/T2MRZ/N2L 組硬件設計指南

    RZ/T2MRZ/N2L 組硬件設計指南
    發表于 01-09 18:57 ?2次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b>、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 組硬件設計指南

    RZ/T2MRZ/T2M 電機解決方案套件啟動手冊(用于 EtherCAT)

    RZ/T2MRZ/T2M 電機解決方案套件啟動手冊(用于 EtherCAT)
    發表于 01-10 19:00 ?1次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> 組 <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> 電機解決方案套件啟動手冊(用于 EtherCAT)

    RZ/T2MRZ/T2M Motor Solution Kit Startup 手冊(for RZ/T2M Motion Control Utility)

    RZ/T2MRZ/T2M Motor Solution Kit Startup 手冊(for RZ/
    發表于 01-10 19:00 ?0次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> 組 <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> Motor Solution Kit Startup 手冊(for <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> Motion Control Utility)

    RZ/T2MRZ/T2M Motor Solution Board 硬件手冊

    RZ/T2MRZ/T2M Motor Solution Board 硬件手冊
    發表于 01-10 19:00 ?3次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> 組 <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> Motor Solution Board 硬件手冊

    CN032交流伺服解決方案硬件手冊(適用于RZ/T2MRZ/N2L

    CN032 交流伺服解決方案硬件手冊(適用于RZ/T2MRZ/N2L
    發表于 05-12 19:19 ?0次下載
    CN032交流伺服解決方案硬件手冊(適用于<b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b>、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b>)

    CN032交流伺服解決方案硬件手冊(適用于RZ/T2MRZ/N2L

    CN032 交流伺服解決方案硬件手冊(適用于RZ/T2MRZ/N2L
    發表于 06-29 19:11 ?1次下載
    CN032交流伺服解決方案硬件手冊(適用于<b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b>、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b>)

    RZ/T2MRZ/N2L 組硬件設計指南

    RZ/T2MRZ/N2L 組硬件設計指南
    發表于 06-30 18:33 ?2次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b>、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b> 組硬件設計指南

    RZ/T2MRZ/T2M 電機解決方案套件啟動手冊(用于 EtherCAT)

    RZ/T2MRZ/T2M 電機解決方案套件啟動手冊(用于 EtherCAT)
    發表于 06-30 19:40 ?0次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> 組 <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> 電機解決方案套件啟動手冊(用于 EtherCAT)

    RZ/T2MRZ/T2M Motor Solution Kit Startup 手冊(for RZ/T2M Motion Control Utility)

    RZ/T2MRZ/T2M Motor Solution Kit Startup 手冊(for RZ/
    發表于 06-30 19:41 ?2次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> 組 <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> Motor Solution Kit Startup 手冊(for <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> Motion Control Utility)

    RZ/T2MRZ/T2M Motor Solution Board 硬件手冊

    RZ/T2MRZ/T2M Motor Solution Board 硬件手冊
    發表于 06-30 19:41 ?1次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> 組 <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b> Motor Solution Board 硬件手冊

    RZ/T2MRZ/N2LRZ/T2L產品簡介

    瑞薩電子2022年6月推出了第二代高性能、多功能的RZ/T2M電機控制微處理器MPU,應用于交流伺服驅動器和工業機器人等領域。RZ/T2M
    的頭像 發表于 11-13 15:50 ?3076次閱讀
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b>、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b>和<b class='flag-5'>RZ</b>/<b class='flag-5'>T2L</b>產品簡介

    RZ/T2MRZ/N2LRZ/T2L組 硬件設計指南

    電子發燒友網站提供《RZ/T2MRZ/N2LRZ/T2L組 硬件設計指南.pdf》資料免費下
    發表于 02-02 09:39 ?2次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b>、<b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b>、<b class='flag-5'>RZ</b>/<b class='flag-5'>T2L</b>組 硬件設計指南

    RZ/T2M, RZ/T2L, RZ/N2L電機解決方案套件數據手冊

    電子發燒友網站提供《RZ/T2M, RZ/T2L, RZ/N2L電機解決方案套件數據手冊.rar
    發表于 05-13 18:12 ?5次下載
    <b class='flag-5'>RZ</b>/<b class='flag-5'>T2M</b>, <b class='flag-5'>RZ</b>/<b class='flag-5'>T2L</b>, <b class='flag-5'>RZ</b>/<b class='flag-5'>N2L</b>電機解決方案套件數據手冊
    二八杠麻将做记号| 百家乐单机破解版| 百家乐官网游戏怎么刷钱| 百家乐tt娱乐网| 澳门百家乐官网必赢技巧| 古丈县| 大发888娱乐城充值lm0| 八大胜百家乐现金网| 金花百家乐官网娱乐城| 九龙城区| 大发888最新版本下载| 新加坡百家乐赌法| 中国百家乐官网澳门真人娱乐平台网址 | 百家乐开过的路纸| 百家乐官网开户过的路纸| 百家乐官网现金网平台排行榜| 澳门赌场着装| 广州太阳城大酒店| 百家乐包台| 百家乐官网追号软件| 太阳城百家乐官网怎么出千| 伟德亚洲娱乐城| 大发888游戏是真的吗| 如何赢百家乐的玩法技巧和规则| 大世界百家乐现金网| KTV百家乐官网的玩法技巧和规则 王子百家乐官网的玩法技巧和规则 | 永利百家乐官网娱乐| 棋牌论坛| 大发888 官方| 百家乐作| 百家乐翻天主题曲| 百家乐娱乐求指点呀| 真钱百家乐官网五湖四海全讯网| 旬阳县| 六合彩生肖表| 大发888最新官方网址| 唐朝百家乐的玩法技巧和规则 | 百家乐可以作假吗| 澳门百家乐怎样下注| 方形百家乐官网筹码| 网络百家乐官网电脑|