chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

瑞薩e2studio----串口獲取數(shù)據(jù)通過SPI存儲于W25Q128外部flash

RA生態(tài)工作室 ? 2021-12-02 17:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

pYYBAGGA3i6Af0z4AABdWrtWoBM374.png

1.概述

本篇文章主要介紹如何使用e2studio對瑞薩進(jìn)行spi配置,同時移植stm32上的W25Q128到瑞薩上,同時通過對該FLASH進(jìn)行讀寫操作,驗(yàn)證是否正確。

2.硬件準(zhǔn)備

首先需要準(zhǔn)備一個開發(fā)板,這里我準(zhǔn)備的是芯片型號 R7FA2L1AB2DFL 的開發(fā)板。

pYYBAGGLLTuAKokoAAL5D_IbQXA990.png

3.新建工程

1b66d376-51d1-11ec-a27f-dac502259ad0.png

4.工程模板

1bdd20ee-51d1-11ec-a27f-dac502259ad0.png

5.保存工程路徑

1c5da570-51d1-11ec-a27f-dac502259ad0.png

6.芯片配置

本文中使用R7FA2L1AB2DFL來進(jìn)行演示。

1cde6494-51d1-11ec-a27f-dac502259ad0.png

7

7.工程模板選擇

1d8e86bc-51d1-11ec-a27f-dac502259ad0.png

8.SPI配置

點(diǎn)擊Stacks->New Stack->Driver->Connectivity->SPI Driver on r_spi。

1e004450-51d1-11ec-a27f-dac502259ad0.png

9.SPI屬性配置

1e8fc8fa-51d1-11ec-a27f-dac502259ad0.png

10.片選CS管腳設(shè)置

設(shè)置P103管腳為輸出管腳,作為CS片選。

1f47176c-51d1-11ec-a27f-dac502259ad0.png

11.設(shè)置E2STUDIO堆棧

1fd12614-51d1-11ec-a27f-dac502259ad0.png

12.e2studio的重定向printf設(shè)置

2048c692-51d1-11ec-a27f-dac502259ad0.png

C++ 構(gòu)建->設(shè)置->GNU ARM Cross C Linker->Miscellaneous去掉Other linker flags中的 “--specs=rdimon.specs”

20f8c4f2-51d1-11ec-a27f-dac502259ad0.png

13.printf輸出重定向到串口

打印最常用的方法是printf,所以要解決的問題是將printf的輸出重定向到串口,然后通過串口將數(shù)據(jù)發(fā)送出去。

注意一定要加上頭文件#include

 
#ifdef __GNUC__                                 //串口重定向
    #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
    #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
        err = R_SCI_UART_Write(&g_uart0_ctrl, (uint8_t *)&ch, 1);
        if(FSP_SUCCESS != err) __BKPT();
        while(uart_send_complete_flag == false){}
        uart_send_complete_flag = false;
        return ch;
}

int _write(int fd,char *pBuffer,int size)
{
    for(int i=0;i;i++)>

14.stm32移植瑞薩說明

在STM32的W25Qx.h中,有個片選定義,代碼如下。


#define W25Qx_Enable()  HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_RESET)
#define W25Qx_Disable()     HAL_GPIO_WritePin(CS_GPIO_Port, CS_Pin, GPIO_PIN_SET)

修改后如下所示。

#define W25Qx_Enable()          R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_LOW);
#define W25Qx_Disable()         R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_01_PIN_03, BSP_IO_LEVEL_HIGH);

在STM32的W25Qx.c中,有對數(shù)據(jù)進(jìn)行發(fā)送和接受,代碼如下。

    /* Send the read status command */
    HAL_SPI_Transmit(&hspi1, cmd, 1, W25Qx_TIMEOUT_VALUE);  
    /* Reception of the data */
    HAL_SPI_Receive(&hspi1,&status, 1, W25Qx_TIMEOUT_VALUE);

修改后如下所示。

    /* Send the read status command */
    g_transfer_complete = false;
    err = R_SPI_Write(&g_spi0_ctrl, cmd, 1, SPI_BIT_WIDTH_8_BITS);
    assert(FSP_SUCCESS == err);
    /* Wait for SPI_EVENT_TRANSFER_COMPLETE callback event. */
    while (  g_transfer_complete==false)
    {
        ;
    }
    /* Reception of the data */
    g_transfer_complete = false;
    err = R_SPI_Read(&g_spi0_ctrl, &status, 1, SPI_BIT_WIDTH_8_BITS);
    assert(FSP_SUCCESS == err);
    /* Wait for SPI_EVENT_TRANSFER_COMPLETE callback event. */
    while (  g_transfer_complete==false)
    {
        ;
    }

15.W25Q128說明

W25Q128將16M的容量分為256個塊(Block),每個塊大小為64K字節(jié),每個塊又分為16個扇區(qū)(Sector),每個扇區(qū)4K個字節(jié)。W25Q128的最小擦除單位為一個扇區(qū),也就是每次必須擦除4K個字節(jié)。芯片ID如下所示。

  • 0XEF13,表示芯片型號為W25Q80
  • 0XEF14,表示芯片型號為W25Q16
  • 0XEF15,表示芯片型號為W25Q32
  • 0XEF16,表示芯片型號為W25Q64
  • 0XEF17,表示芯片型號為W25Q128

16.演示效果

開機(jī)會打印W25Q128的ID,ID為0XEF17,實(shí)際如下所示。

并且之前保存的數(shù)據(jù)也正確讀取出來了。

2187051e-51d1-11ec-a27f-dac502259ad0.png

定義數(shù)組DataBuff,其中DataBuff[0]表示寫入扇區(qū), DataBuff[1]表示寫入位置,剩下的為寫入數(shù)據(jù),同時以0xff結(jié)尾。

分別輸入數(shù)據(jù) 01 02 01 02 03 04 ff與02 20 aa bb cc dd ff

2259bd38-51d1-11ec-a27f-dac502259ad0.png2356134e-51d1-11ec-a27f-dac502259ad0.png

17.主程序代碼

#include "hal_data.h"
#include 
#include "W25Qx.h"
FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER

void uart1_data(void);

#define BUFFERSIZE 255           //可以接收的最大字符個數(shù)
uint8_t ReceiveBuff[BUFFERSIZE]; //接收緩沖區(qū)
uint8_t recv_end_flag = 0,Rx_len=0;//接收完成中斷標(biāo)志,接收到字符長度

uint8_t wData1[0x200];
uint8_t wData2[0x200];
uint8_t wData3[0x200];

uint8_t rData1[0x200];
uint8_t rData2[0x200];
uint8_t rData3[0x200];
uint8_t ID[4];
uint32_t i;

uint8_t flag[1] ;
int i_flag = 0;


fsp_err_t err = FSP_SUCCESS;
volatile bool uart_send_complete_flag = false;
uint8_t RxBuff[1];      //進(jìn)入中斷接收數(shù)據(jù)的數(shù)組
uint8_t DataBuff[5000]; //保存接收到的數(shù)據(jù)的數(shù)組
int RxLine=0;           //接收到的數(shù)據(jù)長度
int Rx_flag=0;                  //接受到數(shù)據(jù)標(biāo)志
int Rx_flag_finish=0;                  //接受完成或者時間溢出
void user_uart_callback (uart_callback_args_t * p_args)
{
    if(p_args->event == UART_EVENT_TX_COMPLETE)
    {
        uart_send_complete_flag = true;
    }

    if(p_args->event ==     UART_EVENT_RX_CHAR)
    {
        RxBuff[0] = p_args->data;
        RxLine++;                      //每接收到一個數(shù)據(jù),進(jìn)入回調(diào)數(shù)據(jù)長度加1
        DataBuff[RxLine-1]=RxBuff[0];  //把每次接收到的數(shù)據(jù)保存到緩存數(shù)組
        Rx_flag=1;
        Rx_len++;
        if(RxBuff[0]==0xff)            //接收結(jié)束標(biāo)志位,這個數(shù)據(jù)可以自定義,根據(jù)實(shí)際需求,這里只做示例使用,不一定是0xff
        {
            Rx_flag_finish=1;
            Rx_len--;
        }
        RxBuff[0]=0;
    }
}

#ifdef __GNUC__                                 //串口重定向
    #define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else
    #define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif

PUTCHAR_PROTOTYPE
{
        err = R_SCI_UART_Write(&g_uart1_ctrl, (uint8_t *)&ch, 1);
        if(FSP_SUCCESS != err) __BKPT();
        while(uart_send_complete_flag == false){}
        uart_send_complete_flag = false;
        return ch;
}

int _write(int fd,char *pBuffer,int size)
{
    for(int i=0;ievent)
    {
        g_transfer_complete = true;
    }
}
/*******************************************************************************************************************//**
 * main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used.  This function
 * is called by main() when no RTOS is used.
 **********************************************************************************************************************/
void hal_entry(void)
{
    /* TODO: add your own code here */

    err = R_SCI_UART_Open(&g_uart1_ctrl, &g_uart1_cfg);
    assert(FSP_SUCCESS == err);
    err = R_SPI_Open(&g_spi0_ctrl, &g_spi0_cfg);
    assert(FSP_SUCCESS == err);
    printf("\r\n SPI-W25Q128 open\n");
    /*##-1- Read the device ID  ########################*/
    BSP_W25Qx_Init();//初始化W25Q128
    BSP_W25Qx_Read_ID(ID);//讀取ID
    if((ID[0] != 0xEF) | (ID[1] != 0x17))
    {
        printf("SPI-W25Q128 error");
    }
    else//ID正確,打印ID
    {
        printf("W25Q128 ID : ");
        for(i=0;i<2;i++)
        {
            printf("0x%02X ",ID[i]);
        }
        printf("\r\n\r\n");
    }

    /**************************讀取第1扇區(qū)數(shù)據(jù)**************************************************************/
     /*##-3- Read the flash     ########################*/
    /*讀取數(shù)據(jù),rData讀取數(shù)據(jù)的指針,起始地址0x00,讀取數(shù)據(jù)長度0x200*/
    if(BSP_W25Qx_Read(rData1,0x0,0x200)== W25Qx_OK)
        printf("The first sector success\n");
    else
        printf("The first sector error\n");
    /*打印數(shù)據(jù)*/
    printf("The first sector data: \r\n");
    for(i =0;i<0x200;i++)
    {
        if(i%20==0)
            printf("\nThe first sector data[%d]--data[%d]: \r\n",i,i+19);
        printf("0x%02X  ",rData1[i]);
    }
        printf("\n");
    /**************************讀取第2扇區(qū)數(shù)據(jù)**************************************************************/
    /*##-3- Read the flash     ########################*/
    /*讀取數(shù)據(jù),rData讀取數(shù)據(jù)的指針,起始地址0x1000,讀取數(shù)據(jù)長度0x200*/
     if(BSP_W25Qx_Read(rData2,0x1000,0x200)== W25Qx_OK)
         printf("The second sector success\n");
     else
         printf("The second sector error\n");
     /*打印數(shù)據(jù)*/
    printf("The second sector data: \r\n");

    for(i =0;i<0x200;i++)
    {
        if(i%20==0)
            printf("\nThe second sector data[%d]--data[%d]: \r\n",i,i+19);
        printf("0x%02X  ",rData2[i]);
        }
    printf("\n");
    /**************************讀取第3扇區(qū)數(shù)據(jù)**************************************************************/
    /*##-3- Read the flash     ########################*/
    /*讀取數(shù)據(jù),rData讀取數(shù)據(jù)的指針,起始地址0x2000,讀取數(shù)據(jù)長度0x200*/
    if(BSP_W25Qx_Read(rData3,0x2000,0x200)== W25Qx_OK)
        printf("The third  sector success\n");
    else
        printf("The third  sector error\n");
    /*打印數(shù)據(jù)*/
     printf("The third  sector data: \r\n");
     for(i =0;i<0x200;i++)
    {
         if(i%20==0)
             printf("\nThe third  sector data[%d]--data[%d]: \r\n",i,i+19);
         printf("0x%02X  ",rData3[i]);
    }
    printf("\n");
    /**************************清除第1扇區(qū)數(shù)據(jù)為0**************************************************************/
    /*##-1- Erase Block ##################################*/
    if(BSP_W25Qx_Erase_Block(0) == W25Qx_OK)
        printf(" QSPI Erase Block ok\r\n");
    else
        printf("error\r\n");
    /*##-1- Written to the flash ########################*/
     /* fill buffer */
     printf(" Clear the first sector data[0]--data[0x200]\r\n");
     for(i =0;i<0x200;i ++)
     {
         wData1[i] = 0;
         rData1[i] = 0;
     }
     /*寫入數(shù)據(jù),wData寫入數(shù)據(jù)的指針,起始地址0x00,寫入數(shù)據(jù)長度0x200*/
     if(BSP_W25Qx_Write(wData1,0x00,0x200)== W25Qx_OK)
         printf("Clear success\r\n");
     else
         printf("Clear error\r\n");

     /*##-1- Read the flash     ########################*/
     /*讀取數(shù)據(jù),rData讀取數(shù)據(jù)的指針,起始地址0x00,讀取數(shù)據(jù)長度0x200*/
     if(BSP_W25Qx_Read(rData1,0x00,0x200)== W25Qx_OK)
         printf("Read the first sector data[0]--data[0x200]\r\n\r\n");
     else
         printf("Read error\r\n\r\n");
     /*打印數(shù)據(jù)*/
     printf("the first sector data[0]--data[0x200]: \r\n");
     for(i =0;i<0x200;i++)
     {
         if(i%20==0)
             printf("\ndata[%d]--data[%d]:\r\n",i,i+19);
         printf("0x%02X  ",rData1[i]);
     }
     printf("\n");
    /**************************清除第2扇區(qū)數(shù)據(jù)為0**************************************************************/
    /*##-2- Erase Block ##################################*/
    if(BSP_W25Qx_Erase_Block(0x1000) == W25Qx_OK)
        printf(" QSPI Erase Block ok\r\n");
    else
        printf("error\r\n");
    /*##-2- Written to the flash ########################*/
    /* fill buffer */
    printf(" Clear the second sector data[0]--data[0x200]\r\n");
    for(i =0;i<0x200;i ++)
    {
        wData2[i] = 0;
        rData2[i] = 0;
    }
    /*寫入數(shù)據(jù),wData寫入數(shù)據(jù)的指針,起始地址0x1000,寫入數(shù)據(jù)長度0x200*/
    if(BSP_W25Qx_Write(wData2,0x1000,0x200)== W25Qx_OK)
        printf("Clear success\r\n");
    else
        printf("Clear error\r\n");
    /*##-2- Read the flash     ########################*/
    /*讀取數(shù)據(jù),rData讀取數(shù)據(jù)的指針,起始地址0x00,讀取數(shù)據(jù)長度0x200*/
    if(BSP_W25Qx_Read(rData2,0x1000,0x200)== W25Qx_OK)
        printf("Read the second sector data[0]--data[0x200]\r\n\r\n");
    else
        printf("Read error\r\n\r\n");
    /*打印數(shù)據(jù)*/
    printf("the first sector data[0]--data[0x200]: \r\n");
    for(i =0;i<0x200;i++)
    {
        if(i%20==0)
            printf("\ndata[%d]--data[%d]:\r\n",i,i+19);
        printf("0x%02X  ",rData2[i]);
        }
    printf("\n");
    /**************************清除第3扇區(qū)數(shù)據(jù)為0**************************************************************/
    /*##-3- Erase Block ##################################*/
    if(BSP_W25Qx_Erase_Block(0x2000) == W25Qx_OK)
        printf(" QSPI Erase Block ok\r\n");
    else
        printf("error\r\n");
    /*##-3- Written to the flash ########################*/
    /* fill buffer */
    printf(" Clear the third sector data[0]--data[0x200]\r\n");
    for(i =0;i<0x200;i ++)
    {
        wData3[i] = 0;
        rData3[i] = 0;
    }
    /*寫入數(shù)據(jù),wData寫入數(shù)據(jù)的指針,起始地址0x2000,寫入數(shù)據(jù)長度0x200*/
    if(BSP_W25Qx_Write(wData3,0x2000,0x200)== W25Qx_OK)
        printf("Clear success\r\n");
    else
        printf("Clear error\r\n");
    /*##-3- Read the flash     ########################*/
    /*讀取數(shù)據(jù),rData讀取數(shù)據(jù)的指針,起始地址0x00,讀取數(shù)據(jù)長度0x200*/
    if(BSP_W25Qx_Read(rData3,0x2000,0x200)== W25Qx_OK)
        printf("Read the third sector data[0]--data[0x200]\r\n\r\n");
    else
        printf("Read error\r\n\r\n");
    /*打印數(shù)據(jù)*/
    printf("the first third data[0]--data[0x200]: \r\n");
    for(i =0;i<0x200;i++)
    {
        if(i%20==0)
            printf("\ndata[%d]--data[%d]:\r\n",i,i+19);
        printf("0x%02X  ",rData3[i]);
    }
                printf("\n");
    while(1)
    {
        uart1_data();
        R_BSP_SoftwareDelay(100, BSP_DELAY_UNITS_MILLISECONDS); // NOLINT100->160
    }
#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}



void uart1_data(void)
{
    if(Rx_flag_finish ==1)//接收完成標(biāo)志
    {
        if(DataBuff[0]==0x01)
        {
            printf("LENGTH:%d\n",Rx_len-2);
            for(int i =0;i;i++)>;i++)>


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

    關(guān)注

    147

    文章

    18779

    瀏覽量

    392830
  • ARM
    ARM
    +關(guān)注

    關(guān)注

    135

    文章

    9530

    瀏覽量

    390302
  • 嵌入式
    +關(guān)注

    關(guān)注

    5192

    文章

    20271

    瀏覽量

    331645
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6209

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RL78/F22 MCU基于e2studio開發(fā)環(huán)境創(chuàng)建觸摸應(yīng)用樣例工程

    RL78/F22 MCU基于e2studio開發(fā)環(huán)境創(chuàng)建觸摸應(yīng)用樣例工程
    的頭像 發(fā)表于 01-14 15:31 ?3681次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>RL78/F22 MCU基于<b class='flag-5'>e2studio</b>開發(fā)環(huán)境創(chuàng)建觸摸應(yīng)用樣例工程

    FPB-RA6E2試用】SPI通信:W25Q64+LittleFS

    STM32上移植過LittleFS用于管理W25Q128,參考鏈接【筆記】littlefs移植筆記-CSDN博客) 實(shí)驗(yàn)平臺: 開發(fā)板:fpb_ra6e2 OS:zephyr
    發(fā)表于 01-11 22:46

    FPB-RA6E2試用】基礎(chǔ)功能使用3(SPI + IIC)

    Renesas!,證明 MOSI 發(fā)出的信號被 MISO 成功接收,數(shù)據(jù)完全一致。 6. 總結(jié) 通過本次測試,得出以下結(jié)論: 硬件可靠性: FPB-RA6
    發(fā)表于 01-05 14:03

    契合物聯(lián)網(wǎng)模組嚴(yán)苛需求,XM25QU128C是高性價比的W25Q128替換之選

    SPI/XPI高速接口、10萬次擦寫壽命、超低待機(jī)電流及 8-pin SOIC封裝,完全對標(biāo)華邦 W25Q128JVSIQ,并實(shí)現(xiàn)軟硬件兼容。無需更改硬件或大幅
    的頭像 發(fā)表于 12-26 09:48 ?257次閱讀
    契合物聯(lián)網(wǎng)模組嚴(yán)苛需求,XM<b class='flag-5'>25QU128</b>C是高性價比的<b class='flag-5'>W25Q128</b>替換之選

    RA6E2地奇星開發(fā)板試用】使用`RA6E2`驅(qū)動 `ESP8266 WiFi模塊`,調(diào)試AT指令。

    串口調(diào)試助手發(fā)送 AT 指令到 RA6E2 開發(fā)板的主串口(UART9)。 RA6E2
    發(fā)表于 12-25 10:08

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

    2.0 Full-Speed、CAN FD、I3C、Quad SPI、HDMI CEC、12-bit ADC/DAC 等豐富外設(shè) 二、開發(fā)環(huán)境搭建(推薦 e2 studio + FSP)
    發(fā)表于 12-22 00:40

    RA6E2地奇星開發(fā)板試用】內(nèi)部Code flash和Data flash寫入數(shù)據(jù)通過OLED顯示

    RA6E2地奇星開發(fā)板 Code Flash與Data Flash 寫入數(shù)據(jù)
    發(fā)表于 12-12 20:15

    RA6E2地奇星開發(fā)板試用】 環(huán)境配置+串口驅(qū)動LED燈

    RA6E2地奇星開發(fā)板試用】+ 環(huán)境配置+串口驅(qū)動LED燈 1.硬件準(zhǔn)備 USB-TTL驅(qū)動器 USB數(shù)據(jù)
    發(fā)表于 12-10 15:35

    小芯片,大能量:XT25Q128F SPI NOR Flash 深度解讀

    產(chǎn)品概述 在智能化時代,每一臺設(shè)備背后都有一顆"數(shù)據(jù)心臟"在默默運(yùn)轉(zhuǎn)。XT25Q128F 是 XTX 公司推出的一款高性能 128Mbit (16MB) 串行 NOR Flash
    的頭像 發(fā)表于 10-20 08:29 ?715次閱讀

    W25Q128JVSIM與GD25Q128ESIGR引腳兼容分析

    華邦W25Q128JVSIM作為常用的128Mbit SPI NOR Flash芯片,其兼容替代方案兆易創(chuàng)新GD25Q128ESIGR已獲得
    的頭像 發(fā)表于 10-13 09:33 ?970次閱讀
    <b class='flag-5'>W25Q128</b>JVSIM與GD<b class='flag-5'>25Q128</b>ESIGR引腳兼容分析

    單片機(jī)項(xiàng)目實(shí)例:W25Q128資料

    單片機(jī)項(xiàng)目實(shí)例:W25Q128資料,推薦下載!
    發(fā)表于 06-09 22:22

    RA單片機(jī)在e2 studio環(huán)境下printf編譯出錯的問題解析

    最近看到有一些網(wǎng)友在討論關(guān)于:RA單片機(jī)在e2 studio環(huán)境下printf編譯出錯的問題。
    的頭像 發(fā)表于 05-24 15:51 ?1408次閱讀
    <b class='flag-5'>瑞</b><b class='flag-5'>薩</b>RA單片機(jī)在<b class='flag-5'>e2</b> <b class='flag-5'>studio</b>環(huán)境下printf編譯出錯的問題解析

    【RA-Eco-RA4M2開發(fā)板評測】初學(xué)-使用flash programmer燒錄程序

    本人剛?cè)肟硬痪?,對單片機(jī)的熱情很高,于是也加入了的板子申請隊(duì)伍,很榮幸也成為了試用者之一,此前對于的板子從未接觸過,包括對于使用e2stud
    發(fā)表于 04-29 17:28

    RA2L1入門學(xué)習(xí)】+e2_studio軟件安裝及使用

    一、e2_studio軟件安裝及使用 注冊e2 studio | Renesas 電子 下載軟件 安裝 4.創(chuàng)建工程 更改工程位置 新
    發(fā)表于 03-27 13:25

    e2studio和Keil簡介及如何安裝e2studio開發(fā)環(huán)境

    (簡稱為e2e2s)是電子的一款包含代碼開發(fā)、構(gòu)建和調(diào)試的開發(fā)工具。e2studio基于開
    的頭像 發(fā)表于 03-13 17:27 ?2597次閱讀
    <b class='flag-5'>e</b>2<b class='flag-5'>studio</b>和Keil簡介及如何安裝<b class='flag-5'>e</b>2<b class='flag-5'>studio</b>開發(fā)環(huán)境