日韩性视频-久久久蜜桃-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观察引脚电平变化的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 神马国产 | 不卡影院av | 成人av电影在线观看 | 亚洲一区二区三区无码久久 | 精品成人免费视频 | 樱桃av| 免费激情片 | 午夜剧场成人 | 在线中文字幕观看 | 九草影院 | 亚洲有吗在线 | 四虎库| 成年女人18级毛片毛片免费 | 精品国产一区二区三区性色av | 中国国语农村大片 | 亚洲中文字幕一区二区在线观看 | 欧美日韩国产一区二区三区在线观看 | 91激情影院| 激情亚洲| 91精品人妻一区二区 | 国产a级淫片 | 亚洲色成人www永久在线观看 | 免费性片| 青青视频在线播放 | 久久国产精品精品国产 | 国产午夜免费福利 | 日韩中文字幕精品视频 | 欧美一区二区三区久久 | 日韩和欧美一区二区 | 成人网色| 国内精品偷拍视频 | 国产又爽又黄的激情精品视频 | 一本亚洲 | 天堂在线观看中文字幕 | 中文字幕成人在线 | 成人av一区二区三区在线观看 | 欧洲中文字幕 | 国外成人性视频免费 | 五月天综合婷婷 | jizz俄罗斯 | 天天干视频在线观看 | 男女裸体影院高潮 | 中文av字幕| 免费观看国产精品视频 | 男人操女人的网站 | 人妻互换一区二区激情偷拍 | 精品久久久久久久久久久aⅴ | 欧美精品国产 | 91快射 | 久久久剧场 | 国产精品一区二区三区四区 | 国产又黄又爽又色 | 韩日激情视频 | 青青操青青 | 国产亚洲成av人片在线观看桃 | 老熟妻内射精品一区 | 黑人精品一区二区 | 在线欧美色| 男人天堂网在线观看 | 好吊一区二区三区视频 | 韩国一级一片高清免费观看 | 情侣黄网站免费看 | 久久精品久久久精品美女 | 亚洲高清成人 | 成人免费xxxxxx视频 | 久久国产精品一区二区 | 成年人的天堂 | 国产91一区二区三区 | 伦理片一区二区 | av一级在线 | www九色 | 国产在线精品观看 | 一区精品视频在线观看 | 亚洲 另类 春色 国产 | 人人干干 | 欧美七区| 又黄又色的网站 | 欧美成人三级在线观看 | 深夜国产福利 | 一个色综合导航 | 免费网站在线观看视频 | 欧美一区二区二区 | 国产精品久久久久久婷婷天堂 | 中文在线日韩 | av成人亚洲 | 欧美绿帽交换xxx | 强辱丰满人妻hd中文字幕 | 乱码一区二区三区 | h视频免费在线观看 | 天天射天天干天天舔 | 女同性αv亚洲女同志 | 亚洲精品字幕在线观看 | 色啪视频 | 亚洲欧美视频在线播放 | 欧美老熟妇一区二区 | 色妞av| 中文久久字幕 | 国产精品7777 | 国产福利片在线观看 |