色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

嵌入式命令行交互工具移植過程

玩轉(zhuǎn)單片機(jī) ? 來源:玩轉(zhuǎn)單片機(jī) ? 2023-02-06 15:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

| 移植準(zhǔn)備

1、去托管平臺(tái)把源碼下下來;

2、準(zhǔn)備一個(gè)基礎(chǔ)工程,實(shí)現(xiàn)串口重定義輸出:

9295c4c8-a3f8-11ed-bfe3-dac502259ad0.png

|移植源碼

1、把核心源碼復(fù)制到工程中:

92e87808-a3f8-11ed-bfe3-dac502259ad0.png

2、把命令示例源碼復(fù)制到工程中:

9323ac34-a3f8-11ed-bfe3-dac502259ad0.png

3、把源碼添加到工程中:

937912e6-a3f8-11ed-bfe3-dac502259ad0.png

4、屏蔽RT-Thread 的頭文件:

93aa3dd0-a3f8-11ed-bfe3-dac502259ad0.png

5、修改輸出的末尾行模式:

93e65b12-a3f8-11ed-bfe3-dac502259ad0.png

6、初始化nr_micro_shell:

#include "gd32f10x.h"
#include "stdio.h"
#include "nr_micro_shell.h"


// uart配置
void hal_log_init(void)
{
    /* 使GPIO時(shí)鐘 */
    rcu_periph_clock_enable(RCU_GPIOA);


    /* 使USART時(shí)鐘 */
    rcu_periph_clock_enable(RCU_USART0);


    /* 連接端口到USARTx_Tx */
    gpio_init(GPIOA, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_9);


    /* 連接端口到USARTx_Rx */
    gpio_init(GPIOA, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_10);


    /* USART配置 */
    usart_deinit(USART0);                                   /*!< 復(fù)位外設(shè)USART */
    usart_word_length_set(USART0, USART_WL_8BIT);           /*!< 配置USART字長 */
    usart_stop_bit_set(USART0, USART_STB_1BIT);             /*!< 配置USART停止位 */
    usart_parity_config(USART0, USART_PM_NONE);             /*!< 配置USART奇偶校驗(yàn) */
    usart_baudrate_set(USART0, 115200U);                    /*!< 配置USART波特率 */
    usart_receive_config(USART0, USART_RECEIVE_ENABLE);     /*!< USART/UART接收器配置 */
    usart_transmit_config(USART0, USART_TRANSMIT_ENABLE);   /*!< USART/UART發(fā)送器配置 */
  
    usart_enable(USART0);                                   /*!< 使能USART */
  
    /*中斷管理器使能,并分配優(yōu)先級(jí)*/
    nvic_irq_enable(USART0_IRQn, 1, 0);
    /*清除中斷標(biāo)志*/
    usart_interrupt_flag_clear(USART0, USART_INT_FLAG_RBNE);
??  usart_interrupt_flag_clear(USART0,?USART_INT_FLAG_IDLE);
??  /*?使能串口中斷?*/
    usart_interrupt_enable(USART0, USART_INT_RBNE);         /*!< 接收不為空中斷 */
}


// usart0中斷
void USART0_IRQHandler(void)
{
    if(RESET != usart_interrupt_flag_get(USART0, USART_INT_FLAG_RBNE))
    {
        /* 清除標(biāo)志位 */
        usart_interrupt_flag_clear(USART0, USART_INT_FLAG_RBNE);
        /* 接收數(shù)據(jù)(注意) */
        shell(usart_data_receive(USART0));
    }
}


//printf重定向函數(shù)
int fputc(int ch,FILE *f)
{
    usart_data_transmit(USART0, (uint8_t)ch);  //發(fā)送一字節(jié)數(shù)據(jù)
    while(RESET == usart_flag_get(USART0, USART_FLAG_TBE));  //等待發(fā)送完成
    return ch;
}


// 外設(shè)初始化
void hal_device_init(void)
{
    hal_log_init();
    /* 初始化 */
??  shell_init();
}


// 主循環(huán)
int main(void)
{
    // 設(shè)置優(yōu)先級(jí)組
    nvic_priority_group_set(NVIC_PRIGROUP_PRE4_SUB0);
    // 外設(shè)初始化
    hal_device_init();
    while (1)
    {
    
    }
}

7、查看效果:

9422aa72-a3f8-11ed-bfe3-dac502259ad0.png

| 定義指令

1、添加自定義指令代碼:

9464594a-a3f8-11ed-bfe3-dac502259ad0.png

2、查看效果:

949278d4-a3f8-11ed-bfe3-dac502259ad0.png

| 最終效果

移植成功后就可以在MCU中體驗(yàn)Linux的shell命令那種感覺,注意一定要修改輸出的末尾行模式,不然會(huì)不能正常使用,來感受一下最終效果:

94c8a9ae-a3f8-11ed-bfe3-dac502259ad0.png

最終的效果還是不錯(cuò)的,和Linux的體驗(yàn)類似,感興趣的同學(xué)可以移植來體驗(yàn)一下MCU級(jí)別的shell命令交互。





審核編輯:劉清

聲明:本文內(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)注

    5152

    文章

    19686

    瀏覽量

    317924
  • 串口中斷
    +關(guān)注

    關(guān)注

    0

    文章

    67

    瀏覽量

    14345
  • RT-Thread
    +關(guān)注

    關(guān)注

    32

    文章

    1414

    瀏覽量

    42036
  • USART串口
    +關(guān)注

    關(guān)注

    0

    文章

    32

    瀏覽量

    7087

原文標(biāo)題:通俗|嵌入式命令行交互工具

文章出處:【微信號(hào):玩轉(zhuǎn)單片機(jī),微信公眾號(hào):玩轉(zhuǎn)單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    在STM32實(shí)現(xiàn)命令行

    工作中的開發(fā)環(huán)境都是基于linux命令行交互,作為命令行的重度使用者,玩單片機(jī)也要使用命令行工具,百度了一些
    發(fā)表于 12-09 11:32 ?3114次閱讀

    Linux命令行的基本使用

    嵌入式Linux開發(fā)環(huán)境的構(gòu)建,Linux命令行的基本使用,VI、GCC、Makefile基本工具的使用,交叉開發(fā)環(huán)境的使用。學(xué)習(xí)條件: 1.C語言編程基礎(chǔ)
    發(fā)表于 11-05 09:08

    Linux命令行怎么使用

    嵌入式Linux開發(fā)環(huán)境的構(gòu)建,Linux命令行的基本使用,VI、GCC、Makefile基本工具的使用,交叉開發(fā)環(huán)境的使用。學(xué)習(xí)條件: 1.C語言編程基礎(chǔ)
    發(fā)表于 12-16 07:46

    為什么需要使用命令行調(diào)試程序?

    為什么需要使用命令行調(diào)試程序?通過嵌入式開發(fā)中通過命令行調(diào)試程序的過程是怎樣的?
    發(fā)表于 12-24 06:44

    在單片機(jī)上實(shí)現(xiàn)shell命令行交互的方法

    文章發(fā)表于我的個(gè)人微信公眾號(hào):嵌入式軟件那些事公眾號(hào)會(huì)定期分享一些嵌入式軟件開發(fā)相關(guān)的技術(shù)經(jīng)驗(yàn),涉及嵌入式Linux、STM32、RTOS等,希望對大家有所幫助!如何在單片機(jī)上實(shí)現(xiàn)shell
    發(fā)表于 01-12 07:33

    Xilinx軟件命令行工具:XSCT開發(fā)和調(diào)試

    了解如何使用XSCT,Xilinx軟件命令行工具進(jìn)行開發(fā)和調(diào)試。 該視頻演示了XSCT如何充當(dāng)Xilinx SDK的命令行控制臺(tái)。
    的頭像 發(fā)表于 11-21 06:02 ?1.5w次閱讀

    Xilinx軟件命令行工具進(jìn)行開發(fā)和調(diào)試

    了解如何使用XSCT,Xilinx軟件命令行工具進(jìn)行開發(fā)和調(diào)試。 該視頻演示了XSCT如何充當(dāng)Xilinx SDK的命令行控制臺(tái)。
    的頭像 發(fā)表于 11-22 06:53 ?7178次閱讀

    Git常見的誤區(qū)和命令行工具等綜述

    Git常見的誤區(qū)和命令行工具等綜述
    發(fā)表于 08-31 09:51 ?0次下載

    使用串口登錄嵌入式Linux設(shè)備命令行的方法

    使用串口登錄嵌入式Linux設(shè)備命令行的方法如下:舉例如下:平臺(tái):AT91SAM9G45OS: linux-2.6.66交叉編譯器:arm-linux-gcc ,版本:3.4.1用到的命令
    發(fā)表于 11-01 16:57 ?10次下載
    使用串口登錄<b class='flag-5'>嵌入式</b>Linux設(shè)備<b class='flag-5'>命令行</b>的方法

    學(xué)習(xí)筆記(02):嵌入式Linux開發(fā)基礎(chǔ)-shell命令使用

    嵌入式Linux開發(fā)環(huán)境的構(gòu)建,Linux命令行的基本使用,VI、GCC、Makefile基本工具的使用,交叉開發(fā)環(huán)境的使用。學(xué)習(xí)條件: 1.C語言編程基礎(chǔ)
    發(fā)表于 11-01 18:00 ?14次下載
    學(xué)習(xí)筆記(02):<b class='flag-5'>嵌入式</b>Linux開發(fā)基礎(chǔ)-shell<b class='flag-5'>命令</b>使用

    mini shell命令行調(diào)試工具(單片機(jī)、c語言)

    @mini shell命令行調(diào)試工具介紹Mini shell 命令行調(diào)試工具(單片機(jī)、c語言)Mini shell是一個(gè)特別適合低內(nèi)存的單片機(jī)上使用的一個(gè)
    發(fā)表于 11-29 10:21 ?10次下載
    mini shell<b class='flag-5'>命令行</b>調(diào)試<b class='flag-5'>工具</b>(單片機(jī)、c語言)

    Golang基于flag庫實(shí)現(xiàn)一個(gè)命令行工具

    Golang 標(biāo)準(zhǔn)庫中的 flag 庫提供了解析命令行選項(xiàng)的能力,我們可以基于此來開發(fā)命令行工具
    的頭像 發(fā)表于 10-28 09:26 ?1585次閱讀

    新的開源命令行工具west

    電子發(fā)燒友網(wǎng)站提供《新的開源命令行工具west.zip》資料免費(fèi)下載
    發(fā)表于 11-11 09:25 ?0次下載
    新的開源<b class='flag-5'>命令行</b><b class='flag-5'>工具</b>west

    一個(gè)開源MCU級(jí)的命令行交互組件

    一個(gè)開源MCU級(jí)命令行交互組件~
    的頭像 發(fā)表于 10-17 16:26 ?686次閱讀
    一個(gè)開源MCU級(jí)的<b class='flag-5'>命令行</b><b class='flag-5'>交互</b>組件

    單片機(jī)上如何做shell命令行交互

    做過嵌入式Linux開發(fā)或使用過桌面Linux系統(tǒng)的童鞋們,肯定對shell命令交互印象比較深刻,然而我們大多數(shù)搞嵌入式軟件開發(fā)的碼農(nóng)都是基于單片機(jī),比如51、STM32等進(jìn)行開發(fā)的,
    的頭像 發(fā)表于 11-01 15:16 ?1995次閱讀
    主站蜘蛛池模板: 美女网站免费久久久久久久 | 国产午夜精品理论片在线 | 大胸美女被cao哭 | 麻豆免费观看高清完整视频 | 精品久久久无码21P发布 | 久久久久激情免费观看 | 狠狠人妻久久久久久综合九色 | 亚洲国产高清在线观看视频 | 成都电影免费中文高清 | 女人张开腿让男人桶爽免 | 秋霞成人午夜鲁丝一区二区三区 | 夜夜精品视频一区二区 | 丰满饥渴老太性hd | 99视频精品国产免费观看 | 考试考90就可以晚上和老师C | 天美传媒 免费观看 | 久久综合中文字幕无码 | 亚洲最大日夜无码中文字幕 | 5g天天影院天天看天天爽 | 亚洲精品AV无码喷奶水糖心 | 国产精品AV无码免费播放 | 国产精品人妻系列21P | 久久免费视频1 | 国产AV天堂亚洲AV麻豆 | 九九久久国产精品免费热6 九九久久国产精品大片 | 毛片在线全部免费观看 | 精品一区二区三区免费观看 | 天天国产在线精品亚洲 | 小黄文纯肉污到你湿 | 亚洲免费视频观看 | 精品手机在线1卡二卡3卡四卡 | 亚洲 视频 在线 国产 精品 | 且试天下芒果免费观看 | 欧美午夜理伦三级在线观看 | 人人碰国产免费线观看 | 在线播放免费人成毛片视频 | 最近中文字幕在线中文高清版 | 亚洲午夜久久久久久久久电影网 | 无码成人AAAAA毛片含羞草 | 国产AV午夜精品一区二区入口 | 亚州综人网|

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品