在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

STM32G0開發(fā)筆記:使用FreeRTOS系統(tǒng)的隊列Queue

CHANBAEK ? 來源:電子技術(shù)攻城獅 ? 作者:MakerInChina.cn ? 2023-01-16 14:50 ? 次閱讀

使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面為使用FreeRTOS系統(tǒng)的隊列Queue。

1 新建項目

  • PIO主頁新建項目,框架選擇libopencm3,開發(fā)板選擇 MonkeyPi_STM32_G070RB;
  • 新建完成后在src目錄新建主程序文件main.c;
  • 然后更改項目文件platformio.ini的燒寫和調(diào)試方式:
1upload_protocol = cmsis-dap
2debug_tool = cmsis-dap

2 添加FreeRTOS庫

將上一節(jié)工程中的FreeRTOS目錄直接拷貝到當(dāng)前工程的lib目錄下即可,添加完成后重新打開項目,以便VSCode獲取代碼索引

3 在FreeRTOS中使用Queue

這里將串口接收的數(shù)據(jù)存放到隊列中,然后在其他任務(wù)中可以取出來進行打印顯示;

  • 創(chuàng)建隊列
1xQueueHandle uart_queue;
2
3//create queue
4    uart_queue = xQueueCreate(16, sizeof(char));

使用 xQueueCreate 接口創(chuàng)建隊列,上面為創(chuàng)建16個單位的char類型存儲隊列;

  • 在串口中斷中發(fā)送數(shù)據(jù)到隊列中
1/**
 2 * @brief uart1 isr function
 3 * 
 4 */
 5void usart1_isr(void)
 6{
 7    //receive interrupt
 8    if (((USART_CR1(USART1) & USART_CR1_RXNEIE) != 0) &&
 9        ((USART_ISR(USART1) & USART_ISR_RXNE) != 0)) {
10
11        char c = usart_recv(USART1);
12
13        xQueueSendFromISR(uart_queue, &c, NULL);
14    }
15}

因為是在中斷中,因此使用 xQueueSendFromISR 向隊列發(fā)送數(shù)據(jù),如果是不在中斷中則直接使用 xQueueSend 接口;

  • 在其他任務(wù)中取出數(shù)據(jù)
1static void app_uart_task(void *param)
 2{
 3    char str[32] = {0};
 4    char i=0;
 5
 6    printf(" app uart task\\n");
 7
 8    while(1){
 9        char c;
10        if( xQueueReceive(uart_queue, &c, 5) == pdPASS) {
11
12            //printf("recv:%c\\n", c);
13
14            if(c == '\\n'){
15                printf(" recv_str: %s\\n", str);
16                memset(str,0,32);
17                i=0;
18            }else{
19                if(i<32){
20                    str[i++] = c;
21                }else{
22                    i = 0;
23                }
24            }
25        }
26    }
27}

使用接口函數(shù) xQueueReceive 從隊列中取數(shù)據(jù)。

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

    關(guān)注

    2270

    文章

    10900

    瀏覽量

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

    關(guān)注

    3

    文章

    4331

    瀏覽量

    62596
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    484

    瀏覽量

    62166
  • 隊列
    +關(guān)注

    關(guān)注

    1

    文章

    46

    瀏覽量

    10893
  • Queue
    +關(guān)注

    關(guān)注

    0

    文章

    16

    瀏覽量

    7261
收藏 人收藏

    評論

    相關(guān)推薦

    AN5096_介紹STM32G0系列硬件開發(fā)

    AN5096_介紹STM32G0系列硬件開發(fā)
    發(fā)表于 11-21 08:11 ?4次下載
    AN5096_介紹<b class='flag-5'>STM32G0</b>系列硬件<b class='flag-5'>開發(fā)</b>

    STM32G0開發(fā)筆記FreeRTOS和FreeModbus庫使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為FreeRTOS和FreeModbus庫使用。
    的頭像 發(fā)表于 01-16 14:44 ?5683次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:<b class='flag-5'>FreeRTOS</b>和FreeModbus庫使用

    STM32G0開發(fā)筆記FreeRTOS和CLI組件使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為FreeRTOS和CLI組件使用。
    的頭像 發(fā)表于 01-16 14:47 ?3596次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:<b class='flag-5'>FreeRTOS</b>和CLI組件使用

    STM32G0開發(fā)筆記:使用FreeRTOS系統(tǒng)

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面為使用FreeRTOS系統(tǒng)
    的頭像 發(fā)表于 01-16 15:07 ?2418次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:使用<b class='flag-5'>FreeRTOS</b><b class='flag-5'>系統(tǒng)</b>

    STM32G0開發(fā)筆記:使用ADC進行NTC溫度采集

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下使用ADC進行NTC溫度采集。
    的頭像 發(fā)表于 01-16 15:12 ?9604次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:使用ADC進行NTC溫度采集

    STM32G0開發(fā)筆記:用PWM來實現(xiàn)LED呼吸燈效果

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面使用PWM來實現(xiàn)LED呼吸燈效果。
    的頭像 發(fā)表于 01-16 15:15 ?2293次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:用PWM來實現(xiàn)LED呼吸燈效果

    STM32G0開發(fā)筆記:EEPROM M24C02的使用方法

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為EEPROM M24C02的使用方法。
    的頭像 發(fā)表于 01-16 15:19 ?2881次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:EEPROM M24C02的使用方法

    STM32G0開發(fā)筆記:SD卡模塊的使用方法

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面介紹SD卡模塊的使用方法。
    的頭像 發(fā)表于 01-19 16:27 ?2342次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:SD卡模塊的使用方法

    STM32G0開發(fā)筆記:SPI接口的基本使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面介紹SPI接口的基本使用。
    的頭像 發(fā)表于 01-17 10:38 ?3126次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:SPI接口的基本使用

    STM32G0開發(fā)筆記:多通道ADC與DMA的使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為多通道ADC與DMA的使用。
    的頭像 發(fā)表于 01-17 10:41 ?7051次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:多通道ADC與DMA的使用

    STM32G0開發(fā)筆記:定時器timer的基本使用方法

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為定時器timer的基本使用方法。
    的頭像 發(fā)表于 01-17 10:43 ?3706次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:定時器timer的基本使用方法

    STM32G0開發(fā)筆記:串口中斷的使用

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,以下為串口中斷的使用。
    的頭像 發(fā)表于 01-17 10:46 ?2359次閱讀

    STM32G0開發(fā)筆記:GPIO接按鍵的使用方式

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面為GPIO接按鍵的使用方式。
    的頭像 發(fā)表于 01-17 10:48 ?1781次閱讀

    STM32G0開發(fā)筆記:LED燈示例

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0,下面為LED燈示例。
    的頭像 發(fā)表于 01-17 10:52 ?1419次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:LED燈示例

    STM32G0開發(fā)筆記:使用libopencm3庫

    使用Platformio平臺的libopencm3開發(fā)框架來開發(fā)STM32G0開發(fā)環(huán)境為VSCode+PIO插件,這里以開發(fā)
    的頭像 發(fā)表于 01-17 10:56 ?1918次閱讀
    <b class='flag-5'>STM32G0</b><b class='flag-5'>開發(fā)筆記</b>:使用libopencm3庫
    主站蜘蛛池模板: 男女一进一出抽搐免费视频 | 国产免费一级高清淫曰本片 | 四虎884tt紧急大通知 | 九九九精品 | 日本在线一区二区 | se94se最新网站 | 80s国产成年女人毛片 | 欧美一区二区三区在线观看 | 成年人黄色免费网站 | 天天插天天搞 | 无毒不卡 | 国产人成高清视频观看 | 国内精品久久久久影院免费 | 男操女视频在线观看 | 又粗又大又爽又色又过瘾视频 | 91中文字幕在线视频 | 国产在线观看黄 | 国产精品欧美激情第一页 | 香港三澳门三日本三级 | 日本不卡视频在线播放 | 夜夜夜夜曰天天天天拍国产 | 五月婷婷深爱五月 | 青草青青产国视频在线 | 视频一区 日韩 | 你懂的在线观看视频 | 国产成+人+综合+亚洲欧美丁香花 | 国产亚洲精品成人a在线 | 国产青草 | 久久免费香蕉视频 | 中文字幕欧美成人免费 | 欧美日韩乱国产 | 国产精品乱码高清在线观看 | www.a级片 | 伊人婷婷色香五月综合缴激情 | 天天干天天干天天天天天天爽 | 午夜神马福利免费官方 | 亚洲人成网站色7799在线观看 | 亚洲成在人 | 国产特黄特色的大片观看免费视频 | 欧美一级视频在线 | 欧美性猛交xxxx黑人喷水 |