日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Keil仿真和SaleaeLogic16观察引脚电平变化

發布時間:2024/3/26 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Keil仿真和SaleaeLogic16观察引脚电平变化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用Keil仿真和SaleaeLogic16觀察引腳電平變化

在基于HAL庫的RTC日歷&時鐘&uc_OS-III小試牛刀兩個實驗中中,在掌握Keil的仿真調試代碼功能之外,也學習使用儀器對代碼運行進行故障排查和功能調測。

  • 練習使用示波器去觀察LED輸出電平和串口通信的波形,分析故障;
  • 分別使用Keil虛擬仿真邏輯儀和 真實邏輯儀(SaleaeLogic16)抓取LED輸出電平和串口通信的波形,進行協議分析。
  • 板子:STM32F103C8

    移植系統:uc/OS-III

    編譯工具:Keil&STM32CubeMX

    燒錄工具:FlyMcu

    文章目錄

    • 使用Keil仿真和SaleaeLogic16觀察引腳電平變化
      • 一、Keil仿真調試查看波形
        • 1. SaleaeLogic16簡介
        • 2. 實際操作
        • 3. 協議分析
      • 三、總結
      • 四、參考文章
      • 五、源代碼

    一、Keil仿真調試查看波形

    這里使用上一次uc_OS-III小試牛刀的程序進行仿真調試,具體調試步驟請參考我曾經的文章:https://blog.csdn.net/ChenJ_1012/article/details/120958528。

    而唯一需要添加的步驟是要在MDK-ARM目錄下添加一個文件:

    創建一個txt文本,插入下列代碼后改后綴為.ini:

    map 0x40000000, 0x40007FFF read write // APB1 map 0x40010000, 0x400157FF read write // APB2 map 0x40020000, 0x4007FFFF read write // AHB1 map 0x50000000, 0x50060BFF read write // AHB2 map 0x60000000, 0x60000FFF read write // AHB3 map 0xE0000000, 0xE00FFFFF read write // CORTEX-M4 internal peripherals

    然后再再魔法棒中添加項目

    運行

    因為上次實驗使用的是PB0和PB1做輸出高電平引腳,頻率分別是100ms和500ms,串口一頻率500ms發送信息,都與圖中波形一一對應。
    PB0的while(1)

    while (DEF_TRUE){HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_RESET);OSTimeDlyHMSM(0, 0, 0, 500,OS_OPT_TIME_HMSM_STRICT,&err);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_0,GPIO_PIN_SET);OSTimeDlyHMSM(0, 0, 0, 500,OS_OPT_TIME_HMSM_STRICT,&err);}

    PB1的while(1)

    while (DEF_TRUE){HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_RESET);OSTimeDlyHMSM(0, 0, 0, 100,OS_OPT_TIME_HMSM_STRICT,&err);HAL_GPIO_WritePin(GPIOB,GPIO_PIN_1,GPIO_PIN_SET);OSTimeDlyHMSM(0, 0, 0, 100,OS_OPT_TIME_HMSM_STRICT,&err);}

    USART1的while(1)

    while (DEF_TRUE){printf("Welcome to uc/OS-III! \r\n");OSTimeDlyHMSM(0, 0, 0, 500,OS_OPT_TIME_HMSM_STRICT,&err);}

    添加引腳代碼:GPIOB_IDR.0,GPIOB_IDR.1,USART1_SR

    1. SaleaeLogic16簡介

    鏈接:https://pan.baidu.com/s/1kawlhhgsY8GeIsi66p5NFw
    提取碼:1234

    下載由機智的橙子提供

    • Saleae16邏輯分析儀,界面操作簡單,易學,易用,是電子開發人員調試、分析的好工具
    • Saleae16是將采樣出來的實時數據送入電腦內存中,應用壓縮算法,深度最高可達10G
    • Saleae16可以自動分析多種常用通信協議,直接得到分析數據,其中SaleaeLogic_1.1.15 支持10種協議解釋,SaleaeLogic_1.1.16支持17種協議解釋,包括: AtmelSWI,Biss ,CAN,DMX-512, I2C, I2S/PCM, JTAG,LIN,Manchester,MDIO,1-Wire,PS/2Keyboard/Mouse,AsyncSerial,Simple Parallel, SPI, UNI/O,USB1.1
    • Saleae16采用資源動態復用,3個通道最高采樣率100M,6個通道最高采樣率50M,9個通道最高采樣率32M,16個通道最高采樣率16M
    • Saleae16使用的USB接口,必須是USB2.0接口
    • Saleae16采集的數據可以選擇存儲, 導出表格,數據顯示支持數據顯示成為10進制、16進制、二進制、ASCII碼,便于進行數據分析和數據比較
    • 支持上升沿、下降沿、高電平、低電平等多種觸發方式,也可選取多個通道“與邏輯”的關系進行觸發選擇,方便、實用
    • 軟件支持多種采集頻率和采集深度, 可根據實際應用需求自由結合
    • 還支持模擬輸出功能,可以對軟件本身支持的協議格式進行模擬演試輸出

    2. 實際操作

    進入開始頁面后,點擊左上角選擇Logic16

    設置通道,修改觸發方式

    Analyzers選項

    這里使用通道0,1,2
    分別將stm32f103c8t6的引腳PB0,PB1,PA9接到通道0,1,2,同時將一個GND接地。
    然后設置三個Async Serial

    點擊Start

    波形與keil仿真示波器一致,證明沒有問題。

    3. 協議分析

    UART串口傳輸的數據被組織成數據包。每個數據包包含1個起始位,5至9個數據位,可選的奇偶校驗位和1或1.5或2個停止位,協議如下:

    起始位數據位奇偶校驗位停止位
    1bit5-9bit0-1bit1-2bit

    空閑位:UART協議規定,當總線處于空閑狀態時信號線的狀態為‘1’即高電平,表示當前線路上沒有數據傳輸。

    起始位:開始進行數據傳輸時發送方要先發出一個低電平’0’來表示傳輸字符的開始。因為總線空閑時為高電平所以開始一次通信時先發送一個明顯區別于空閑狀態的信號即低電平。

    數據位:起始位之后就是要傳輸需要傳輸的數據,數據可以是5,6,7,8,9位,構成一個字符,一般都是8位。先發送最低位最后發送最高位,使用低電平表示‘0’高電平表示‘1’完成數據位的傳輸。

    奇偶校驗位:數據位加上這一位后,使得“1”的位數應為偶數(偶校驗)或奇數(奇校驗),以此來校驗數據傳送的正確性。校驗位其實是調整個數,串口校驗分幾種方式:

  • 無校驗(no parity)
  • 奇校驗(odd parity):如果數據位中“1”的數目是偶數,則校驗位為“1”,如果“1”的數目是奇數,校驗位為“0”。
  • 偶校驗(even parity):如果數據為中“1”的數目是偶數,則校驗位為“0”,如果為奇數,校驗位為“1”。
  • mark parity:校驗位始終為1(不常用)。
  • parity:校驗位始終為0(不常用)。
  • 停止位:數據結束標志,可以是1位,1.5位,2位的高電平。由于數據是在傳輸線上定時的,并且每一個設備有其自己的時鐘,很可能在通信中兩臺設備之間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,并且提供計算機校正時鐘的機會。停止位個數越多,數據傳輸越穩定,但是數據傳輸速度也越慢。

    傳輸方向:即數據是從高位(MSB)開始傳輸還是從低位(LSB)開始傳輸。

    三、總結

    本次實驗重點在于了解Logic軟件的基本原理,以及通過Saleae16配合硬件顯示波形圖,從而理解UART通信協議。

    四、參考文章

    一只特立獨行的豬: keil仿真和使用示波器調波形

    機智的橙子: 使用Keil仿真邏輯儀觀察引腳電平變化
    慕千雪: 使用Keil仿真邏輯儀觀察引腳電平變化

    五、源代碼

    https://github.com/Wattson1128/uC_OS-III

    總結

    以上是生活随笔為你收集整理的使用Keil仿真和SaleaeLogic16观察引脚电平变化的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 福利在线国产 | 天堂在线1 | 中文字幕福利视频 | 天天躁日日躁狠狠躁av麻豆 | 国产精选第一页 | 国产cao| 精品一区二区三区免费视频 | 伊朗做爰xxxⅹ性视频 | 2018天天弄 | 久久蜜桃精品 | 国家队动漫免费观看在线观看晨光 | av直播在线观看 | 欧美性受xxxx黒人xyx性爽 | 一区二区三区中文视频 | 日韩电影二区 | 欧美一级黄色网 | 日韩福利片在线观看 | 婷婷色综合网 | 欧美日韩在线免费视频 | 华人永久免费视频 | 国产91精品一区二区 | 男生舔女生的屁股 | 国产簧片 | 美女扣逼喷水视频 | 狠狠干影视 | 亚洲色图美腿丝袜 | 成人在线视频免费观看 | 国产精品美女久久久久av爽 | 欧美高清性xxxxhdvideosex | 国产成人高清在线 | 国产福利久久 | 久久亚洲国产成人精品性色 | 蜜桃精品视频 | 黑人巨大精品欧美一区二区 | 黄色网日本 | 精品人妻av在线 | 欧州一区二区三区 | 中文在线字幕 | 亚洲一区二区在线 | 秋霞二区 | 国产精品久久久久蜜臀 | 亚洲欧洲激情 | 国产伦理片在线观看 | av网子| 亚洲天堂2016 | 包射屋 | 亚洲精品中文字幕乱码三区91 | ww久久| 免费在线精品视频 | 一区三区视频在线观看 | 国产伦精品一区二区三区妓女下载 | 毛片视屏 | 狠狠干网址 | 99re这里都是精品 | av免费在线观看网址 | 欧美精品hd | 99精品在线 | 欧美日韩不卡一区 | av福利在线 | 国产精品二区视频 | 毛茸茸日本熟妇高潮 | 闷骚老干部cao个爽 av九九九 | 亚洲激情短视频 | 久久青青热 | 日韩欧美在线视频播放 | 亚欧激情 | 亚洲五月婷婷 | 情欲少妇人妻100篇 黄色一级片欧美 | japanese24hdxxxx日韩| 美女国产网站 | 99爱在线视频 | 偷拍视频一区二区 | 69xxx免费视频 | 美女黄视频在线观看 | 欧美肥老妇视频九色 | 欧美精品三区 | 一级小毛片 | 国产又粗又黄又爽又硬 | 久久久久久久9 | 免费在线观看小视频 | 三级爱爱 | 亚洲人成在线免费观看 | 强伦轩人妻一区二区电影 | 日韩欧美视频一区 | 中文字幕少妇 | 亚洲区免费 | 三上悠亚在线观看一区二区 | 欧美一区免费看 | 熟女少妇精品一区二区 | 噼里啪啦高清 | 少妇又色又爽又黄的视频 | 免费日皮视频 | 国产免费av片在线观看 | 亚洲人视频在线 | 色久av| 久久久噜噜噜久久 | 奇米在线观看 | 色哟哟视频在线观看 | 成人动作片 |