女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

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

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

3天內不再提示

基于潘多拉開發板的shell內容屏幕顯示

冬至子 ? 來源:Zzxy ? 作者:Zzxy ? 2023-10-16 14:41 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

潘多拉開發板有個小屏幕,并且提供了屏幕的驅動,所以我一直想著把這個屏幕用起來,最后把tshell輸出到串口的內容最終也輸出到屏幕上 最終成果如下

1.jpg

實現的過程如下

1.使能lcd

1.jpg

即打開 Enalbe LCD ,下面的Enalbe LCD_console 是我自己加的

2.測試lcd屏幕

在打開后lcd后,rt-studio 會提供一個 樣例讓你輸出(自動添加到applitcations 下面),測試一下lcd是否可以正常使用

3.實現的思路

我這邊有兩種思路

1.在rt_kprintf 中串口中的內容輸出后,再輸出到屏幕上
2.由第一種思路擴展,rt-thread中提供串口的接受和發送的回調函數,我們設置rt_kprintf使用串口的發送回調函數,在發送數據后,將數據打印在屏幕上

最終我選擇了第一個方案,因為潘多拉串口沒有實現發送的回調函數,以下是具體實現

3.1首先在 rtthread/src/kservice.c 中的rt_kprintf中添加如下

#ifdef BSP_USING_LCD_CONSOLE
if(lcd_show_flag){
shell_show_lcd(rt_log_buf);
}
#endif

其中#ifdef BSP_USING_LCD_CONSOLE 是我添加的lcd控制,lcd_show_flag 為1時,調用shell_show_lcd,這個函數會將串口發送的內容打印到屏幕上,為什么有了BSP_USING_LCD_CONSOLE ,還要加個lcd_show_flag來控制呢?因為在開始rt_kprintf第一次被調用的時候,spi還沒有被初始化,直接調用會導致報錯,所以我在main中定義lcd_show_flag,并且調用main運行后,將lcd_show_flag置1。

3.2實現調用shell_show_lcd

#ifdef BSP_USING_LCD_CONSOLE
int lcd_x = LCD_START,lcd_y = LCD_START,size_font=16;
void shell_show_lcd(char *rt_log_buf){
char str[2] ={0};
if(rt_strcmp(rt_log_buf, "x1b[2Jx1b[H")==0){
lcd_x = LCD_START,lcd_y = LCD_START;
lcd_clear(WHITE);
return ;
}
while(*rt_log_buf){
str[0] = *rt_log_buf;
//handle 'n'
if(str[0] == 'n'){
lcd_y = lcd_y + size_font - 1;
lcd_x = LCD_START;
rt_log_buf++;
//clear next line
if (lcd_y + size_font < LCD_H - size_font)
{
lcd_show_string(0, lcd_y + size_font , size_font, " ");
}
continue;
}
//handle 'r'
if(str[0] == 'r'){
lcd_x = LCD_START;
rt_log_buf++;
continue;
}
//hand del and backspace
if (str[0] == 0x7f || str[0] == 0x08){
lcd_x = lcd_x - (size_font/2 - 1);
if (lcd_x < LCD_START)
{
lcd_x = LCD_W - size_font / 2;
lcd_y -= size_font;
}
lcd_show_string(lcd_x, lcd_y , size_font, " ");
rt_log_buf++;
continue;
}
if (lcd_x > LCD_W - size_font / 2)
{
lcd_x =LCD_START;
lcd_y += size_font;
}
if (lcd_y > LCD_H - size_font)
{
lcd_y = lcd_x = LCD_START;
lcd_show_string(0, 0 , size_font, " ");
}
lcd_show_string(lcd_x, lcd_y , size_font, str);
lcd_x = lcd_x + size_font/2 - 1;
rt_log_buf++;
}
}
#endif

不到一百行代碼,非常簡單,我們逐步看一下

首先我們看最重要的一個函數

lcd_show_string,這個官方提供的,其函數原型如下

1.jpg

x y 是你要輸出的位置,size是字符的大小,fmt則是要輸出的字符,其中size時限定16 24 32 的,其他的尺寸會報錯
第2行 定義 x,y,以及字體大小font
第7-11行 處理clear指令,clear指令發送后,會輸出”x1b[2Jx1b[H”,我們在讀到這串代碼將屏幕清空,并將xy置0
第16-27行,處理n,主要在處理完n后我清空了下一行,主要時屏幕太小,很容易擠滿,看不清輸出到哪里了
第30-34行,處理 r ,清楚當前行,重置x
第36-44行,處理 del 和 backspace ,計算回退的位置,并且用空格來填充
第52-61行,判斷下一個字符是否會超過xy的邊界值
第63-65行,輸出字符,將x自增,并且繼續處理下一個字符

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

    關注

    0

    文章

    126

    瀏覽量

    15986
  • Shell
    +關注

    關注

    1

    文章

    372

    瀏覽量

    24148
  • 回調函數
    +關注

    關注

    0

    文章

    88

    瀏覽量

    11869
  • RT-Thread
    +關注

    關注

    32

    文章

    1395

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    正點原子潘多拉開發板免費試用

    潘多拉開發板是正點原子和RT-Thread聯合出品的IOT開發板,IOT方面我們采用的國內自主物聯網操作系統RT-Thread。了解更多>>
    發表于 05-14 11:29

    如何在RT-Thread潘多拉開發板上實現電源管理?

    本文介紹了基于 RT-Thread潘多拉開發板電源管理組件的使用和移植過程。
    發表于 03-30 06:47

    如何在潘多拉開發板上運行Modbus主機與從機?

    本文的目的是介紹如何在潘多拉開發板上運行Modbus主機與從機。首先介紹串口方式通信的Modbus主機和從機。然后介紹如何使用網絡進行Modbus通信。
    發表于 03-30 08:01

    怎樣去解決潘多拉開發板SFUD初始化失敗的問題

    潘多拉開發板SFUD為什么會初始化失敗?怎樣去解決潘多拉開發板SFUD初始化失敗的問題?
    發表于 09-06 06:27

    潘多拉開發板的使用感受

    怎樣去使用潘多拉開發板呢?
    發表于 10-26 07:39

    快速上手STM32L475潘多拉開發板BSP的方法

    簡介本文檔為 RT-Thread 開發團隊為 STM32L475 潘多拉開發板提供的 BSP (級支持包) 說明。主要內容如下:開發板資源
    發表于 03-28 10:20

    用rtt studio的模板下載到潘多拉開發板之后開發板就黑屏了,如何讓屏幕變亮?

    用rtt studio的模板下載到潘多拉開發板之后潘多拉開發板就黑屏了,怎么才能讓屏幕亮那
    發表于 04-18 09:34

    潘多拉開發板+RT-Thread Studio芯片沒有反應如何處理?

    請教一個問題。我用正點原子潘多拉開發板+RT-Thread Studio。建立工程時選擇按芯片創建,芯片選的是STM32L475VETx。編譯沒問題,但下載后,終端沒有任何顯示,甚至也沒有
    發表于 05-26 15:06

    潘多拉開發板+RT-Thread Studio選擇按芯片創建無反應請問這是什么原因呢

    請教一個問題。我用正點原子潘多拉開發板+RT-Thread Studio。建立工程時選擇按芯片創建,芯片選的是STM32L475VETx。編譯沒問題,但下載后,終端沒有任何顯示,甚至也沒有
    發表于 07-29 10:33

    有沒有其他方法在潘多拉開發板上能夠實現網絡播放功能

    最近剛入手了正點原子的潘多拉開發板,在使用webclient軟件包的時候發現,一旦打開MdebTLS Support之后,編譯就不通過了,顯示“請修改鏈接腳本以擴大ROM大小”。也嘗試網上尋找方法
    發表于 08-18 09:54

    有沒有其他方法在潘多拉開發板上能夠實現網絡播放功能呢

    最近剛入手了正點原子的潘多拉開發板,在使用webclient軟件包的時候發現,一旦打開MdebTLS Support之后,編譯就不通過了,顯示“請修改鏈接腳本以擴大ROM大小”。也嘗試網上尋找方法
    發表于 10-19 11:08

    基于潘多拉開發板的tshell串口輸出內容

    潘多拉開發板有個小屏幕,并且提供了屏幕的驅動,所以我一直想著把這個屏幕用起來,最后把tshell輸出到串口的內容最終也輸出到
    發表于 12-12 16:07

    STM32CubeMX使用-1.點個燈(正點原子潘多拉開發板)

    STM32CubeMX使用-1.點個燈(正點原子潘多拉開發板)
    發表于 12-08 15:21 ?3次下載
    STM32CubeMX使用-1.點個燈(正點原子<b class='flag-5'>潘多拉開發板</b>)

    潘多拉開發板SFUD初始化失敗問題[SFUD] Error W25Q128 flash device is initialize fail

    【已解決】潘多拉開發板SFUD初始化失敗問題[SFUD] Error: W25Q128 flash device is initialize fail.問題描述如下:  
    發表于 12-22 19:44 ?11次下載
    <b class='flag-5'>潘多拉開發板</b>SFUD初始化失敗問題[SFUD] Error W25Q128 flash device is initialize fail

    rt-studio潘多拉開發板最新rt-thread不能運行解決辦法

    在rt-studio 上 選擇基于開發板的項目,選擇潘多拉,rt-thread選擇lasted ,如下圖
    的頭像 發表于 10-16 14:50 ?1885次閱讀
    rt-studio<b class='flag-5'>潘多拉開發板</b>最新rt-thread不能運行解決辦法
    主站蜘蛛池模板: 丰顺县| 正安县| 泸溪县| 泰和县| 楚雄市| 甘孜| 政和县| 卢龙县| 淮滨县| 嵩明县| 包头市| 六安市| 开封市| 中江县| 吉水县| 永康市| 常山县| 武川县| 本溪| 育儿| 英超| 永昌县| 平利县| 咸阳市| 科技| 木里| 石渠县| 汉川市| 望城县| 乐安县| 乐东| 夏河县| 高要市| 铅山县| 平安县| 湘潭县| 孟连| 织金县| 绥宁县| 长治县| 石阡县|