亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

UART在5.2.0版本E2S中的重定向

瑞薩嵌入式小百科 ? 來源:瑞薩嵌入式小百科 ? 2025-10-31 15:28 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

18.8

UART在5.2.0版本E2S中的重定向

18.8.1

重定向失效原因

隨著FSP庫版本更新到5.2.0,在開發(fā)過程中就會發(fā)現(xiàn)4.0.0版本的串口重定義并不適用于最新版本。繼續(xù)使用原來的重定向代碼時(shí),編譯器就會報(bào)錯(cuò)。根據(jù)報(bào)錯(cuò)的信息發(fā)現(xiàn),缺少了幾個(gè)函數(shù)的定義,這里補(bǔ)全定義即可。

3b464296-b3b4-11f0-8c8f-92fbcf53809c.png

圖19-20 串口重定義編譯器報(bào)錯(cuò)

18.8.2

重定向代碼

Uart重定向函數(shù)函數(shù)的內(nèi)容修改成如下所示。

列表11:代碼清單19-10:Uart重定向函數(shù)

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

#ifdefined __GNUC__ && !defined __clang__
int_write(intfd,char*pBuffer,intsize);//防止編譯警告
int_read(intfd,char*pBuffer,intsize);
/* 重定向 printf 輸出 */
int_write(intfd,char*pBuffer,intsize)
{
(void) fd;
R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t*) pBuffer, (uint32_t) size);
while(uart_send_complete_flag ==false)
; 
uart_send_complete_flag =false;
returnsize;
}
/* 重定向 scanf 函數(shù) */
int_read(intfd,char*pBuffer,intsize)
{
(void) fd;
R_SCI_UART_Read(&g_uart0_ctrl, (uint8_t*) pBuffer, (uint32_t) size);
while(uart_receive_complete_flag ==false)
;
uart_receive_complete_flag =false;
/* 回顯 */
R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t*) pBuffer, (uint32_t) size);
returnsize;
}
#else
intfputc(intch, FILE *f)
{
(void)f;
R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t*)&ch,1);
while(uart_send_complete_flag ==false);
uart_send_complete_flag =false;
returnch;
}
#endif

Uart重定向頭文件修改如下所示。

列表12:代碼清單19-11:Uart重定向頭文件

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

#ifndef__BSP_DEBUG_UART_H
#define__BSP_DEBUG_UART_H
#include"hal_data.h"
#include"stdio.h"
#include
#include
#include
voidDebug_UART0_Init(void);
#endif

補(bǔ)全缺失函數(shù)如下所示。

列表13:代碼清單19-12:補(bǔ)全缺失函數(shù)

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

/*函數(shù)聲明防止編譯器警告*/
int_isatty(intfd);
int_close(intfd);
int_lseek(intfd,intptr,intdir);
int_fstat(intfd, structstat*st);
__attribute__((weak))int_isatty(intfd)
{
if(fd>= STDIN_FILENO && fd<= STDERR_FILENO)
?return1;
? errno = EBADF;
return0;
?}
?__attribute__((weak))?int?_close(int?fd)
?{
if?(fd >= STDIN_FILENO && fd <= STDERR_FILENO)
return0;
?errno = EBADF;
return-1;
?}
?__attribute__((weak))?int?_lseek(int?fd,?int?ptr,?int?dir)
?{
?(void) fd;
?(void) ptr;
?(void) dir;
?errno = EBADF;
return-1;
?}
?__attribute__((weak))?int?_fstat(int?fd, struct stat *st)
?{
if?(fd >= STDIN_FILENO && fd <= STDERR_FILENO)
?{
?st->st_mode = S_IFCHR;
return0;
}
errno = EBADF;
return0;
}

18.8.3

下載驗(yàn)證

保證開發(fā)板相關(guān)硬件連接正確,用Type-CUSB線連接開發(fā)板“USBTOUART”接口電腦。本次實(shí)驗(yàn)需要使用到串口調(diào)試助手,配置好串口參數(shù)并打開串口后,在調(diào)試助手的發(fā)送區(qū)域輸入任意字符并點(diǎn)擊發(fā)送,即可在接收區(qū)看見相同字符,如圖19_17。

3bad5954-b3b4-11f0-8c8f-92fbcf53809c.png

圖19-21 實(shí)驗(yàn)1下載驗(yàn)證

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1603

    瀏覽量

    81680
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1295

    瀏覽量

    105925
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4404

    瀏覽量

    66626
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1666

    瀏覽量

    51007

原文標(biāo)題:UART在5.2.0版本E2S中的重定向——瑞薩RA系列FSP庫開發(fā)實(shí)戰(zhàn)指南(50)

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    STM8S如何在STVD環(huán)境下重定向printf函數(shù)實(shí)現(xiàn)UART簡化輸出?

    printf(),網(wǎng)上IAR環(huán)境的重定向調(diào)通了,求STVD環(huán)境下的code。 3. 用STM8的官方例程UART1_PrintfSTVD環(huán)境下編譯OK,但是debug時(shí)候報(bào)錯(cuò)下載不了程序 4. 針對3
    發(fā)表于 04-30 08:29

    芯海通用 MCU應(yīng)用筆記 : IAR 及 MDK 開發(fā)環(huán)境下使用 printf 函數(shù)重定向移植差異指南

    UART 口輸出打印信息。 IAR9.x版本下,IAR 官方已經(jīng)不再支持 fputc 接口的重定向,此時(shí)若移植原 Keil 下代碼,則無法
    發(fā)表于 05-16 11:56

    【RA-Eco-RA4E2-64PIN-V1.0開發(fā)板試用】02、UART串口通信

    USB轉(zhuǎn)串口,連接到P109和P110 IO口。 USB轉(zhuǎn)串口模塊板子的左下角區(qū)域 2 軟件部分 2.1 新建工程 將先前創(chuàng)建的工程模板文件夾復(fù)制一份,并將文件夾重命名為02_UART
    發(fā)表于 12-14 11:44

    【RA4E2開發(fā)板評測】FSP5.2之后的串口重定向問題解決方法

    【緣由】 我導(dǎo)入RA4E2UART工程時(shí)遇到編譯報(bào)錯(cuò),提示如下: 原因是隨著FSP庫版本更新到5.2.0
    發(fā)表于 08-29 07:02

    stm32系列單片機(jī)之printf重定向

    , 一般用于向標(biāo)準(zhǔn)輸出設(shè)備按規(guī)定格式輸出信息。但是單片機(jī)開發(fā),一般情況下并不存在標(biāo)準(zhǔn)輸出設(shè)備,因此我們需要將printf的輸出信息重定向,也就是輸出到其他輸出設(shè)備中去。stm32
    發(fā)表于 01-19 10:59

    請問S3C2440為什么重定向時(shí)要注釋掉u-boot自帶的重定向代碼呢?

    Flash的數(shù)據(jù),那為什么重定向時(shí)要注釋掉u-boot自帶的重定向代碼呢?自帶u-boot代碼:copy_loop:ldmiar0!, {r3-r10} /* copy from source
    發(fā)表于 09-16 10:29

    如何將輸出重定向到一個(gè)不同的UART

    a)當(dāng)使用和聲時(shí),我可以將Prtuf直接指向任意的UART,或者總是指向UART2?如果是,我如何將輸出重定向到一個(gè)不同的UART?B)和聲控制臺,可以到任何
    發(fā)表于 05-06 13:59

    實(shí)現(xiàn)printf函數(shù)的重定向

    目錄重定向函數(shù)屬性設(shè)置重定向函數(shù)配置好串口之后需要在相關(guān)文件添加以下函數(shù)以實(shí)現(xiàn)printf函數(shù)的重定向//注意添加頭文件#include
    發(fā)表于 08-24 07:09

    使用printf()函數(shù)時(shí)默認(rèn)UART0輸出,請教如何重定向printf()到UART1?

    芯片:N76E003; 編譯環(huán)境:keil5 使用printf()函數(shù)時(shí)默認(rèn)UART0輸出,請教如何重定向printf()到UART1?
    發(fā)表于 06-25 07:12

    STM32 hal_printf重定向操作

    STM32 hal_printf重定向操作只需要在uart.c文件添加如下代碼, #include "stdio.h"   extern UART
    發(fā)表于 12-03 13:36 ?4次下載
    STM32 hal_printf<b class='flag-5'>重定向</b>操作

    Keil下使用STlink重定向printf的配置

    Keil下使用STlink重定向printf的配置1. printf 重定向Keil默認(rèn)下使用Micro LIB庫,該庫調(diào)用 fputs 實(shí)現(xiàn) printf,所以需要重新定義fputs函數(shù),以重定向
    發(fā)表于 12-27 18:43 ?18次下載
    Keil下使用STlink<b class='flag-5'>重定向</b>printf的配置

    Linux I/O重定向詳解

    Linux I/O重定向可以定義為,更改從命令讀取輸入到命令發(fā)送輸出的方式。你可以重定向命令的輸入和輸出。對于重定向符號,可以是 或者 | 。
    的頭像 發(fā)表于 05-04 14:34 ?1284次閱讀

    bash如何進(jìn)行各種文件重定向呢?

    本文會用以下測試程序,來演示bash,如何進(jìn)行各種文件重定向
    的頭像 發(fā)表于 08-25 09:31 ?1813次閱讀
    <b class='flag-5'>在</b>bash<b class='flag-5'>中</b>如何進(jìn)行各種文件<b class='flag-5'>重定向</b>呢?

    如何實(shí)現(xiàn)Printf()接口重定向UART

    ;。所謂的重定向,就是重新定義Printf()接口函數(shù)里調(diào)用的與輸出設(shè)備相關(guān)的函數(shù),eg:使用Printf()接口將MCU的信息,通過串口或者Ethernet輸出到終端上位機(jī)。
    的頭像 發(fā)表于 10-01 10:13 ?2057次閱讀
    如何實(shí)現(xiàn)Printf()接口<b class='flag-5'>重定向</b>到<b class='flag-5'>UART</b>

    2分鐘搞懂輸出重定向

    視頻最后我們通過重定向把標(biāo)準(zhǔn)輸出寫到了文件,但是錯(cuò)誤輸出還是留在了屏幕上。
    的頭像 發(fā)表于 01-15 16:41 ?1036次閱讀