最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網 會員登陸 & 注冊

CH32V103學習筆記之六——硬件IIC主模式連續(xù)接發(fā)數(shù)據(jù)

2021-09-30 11:09 作者:修地球八級工  | 我要投稿

1、前言

????????第五篇介紹了CH32V103R8硬件IIC的初始化配置流程,單字節(jié)接發(fā)的配置流程(包括事件檢查超時的處理方式),以及中斷對IIC通信的影響情況。

????????0.96“OLED液晶屏初始化和更改顯示內容操作全部都是寫寄存器和寫數(shù)據(jù)。向0.96“OLED液晶屏寫入一個6x8點陣的字符需要連續(xù)寫入6字節(jié)數(shù)據(jù),一個8x16的點陣字符需要寫入16字節(jié)數(shù)據(jù)。MPU6050六軸電子陀螺儀除了初始化的時候向幾個參數(shù)配置的寄存器寫入設定的參數(shù)后,其他程序使用到的參數(shù)都需要使用IIC讀取MPU6050的數(shù)據(jù)寄存器中的值(7個16位的ADC測量值分高低字節(jié)在內部14個地址連續(xù)的數(shù)據(jù)寄存器存儲)。

??????? 接發(fā)數(shù)據(jù)的時候如果每接發(fā)完一字節(jié)數(shù)據(jù)就結束本次通訊,下一字節(jié)數(shù)據(jù)再從頭寫IIC從機地址、接發(fā)第二字節(jié)的數(shù)據(jù)。使用單字節(jié)接發(fā)循環(huán)操作實現(xiàn)接發(fā)多個字節(jié)IIC通訊的時間就會增加很多,降低了程序的執(zhí)行效率。所以,使用IIC連續(xù)接發(fā)數(shù)據(jù)有必要探索一番。本篇重點就IIC連續(xù)接發(fā)的配置流程做些說明。

2、IIC主模式連續(xù)發(fā)送(寫)數(shù)據(jù)

????????IIC主模式SCL時鐘信號由主機發(fā)起且通訊結束由主機發(fā)送停止信號。根據(jù)通訊時序說明,當EV8(TxE=1,移位寄存器非空,數(shù)據(jù)寄存器為空)出現(xiàn),就可以繼續(xù)發(fā)送下一字節(jié)數(shù)據(jù)至數(shù)據(jù)寄存器,或者發(fā)送停止信號結束本次通訊(再次發(fā)起通訊檢查EV5會檢查狀態(tài)寄存器標志位BTF(字節(jié)傳輸完成)是否通訊完成,所以這里只檢查EV8后發(fā)送停止信號不會造成最后一字節(jié)數(shù)據(jù)丟失),依此可以實現(xiàn)連續(xù)發(fā)送數(shù)據(jù)。

主模式IIC發(fā)送數(shù)據(jù)時序說明

連續(xù)發(fā)送數(shù)據(jù)配置

邏輯分析儀抓取的通訊時序圖

發(fā)送0x00寫指令向OLED發(fā)送顯示數(shù)據(jù)在屏幕上的起始地址(共連續(xù)發(fā)送四字節(jié)數(shù)據(jù))
發(fā)送0x40寫數(shù)據(jù)指令再向顯示起始地址連續(xù)寫入6字節(jié)(6x8點陣字符取模數(shù)據(jù))顯示數(shù)據(jù)(共連續(xù)發(fā)送7字節(jié)數(shù)據(jù))


3、IIC主模式連續(xù)接收(讀)數(shù)據(jù)

????????連續(xù)接收數(shù)據(jù)相較連續(xù)發(fā)送數(shù)據(jù)操作多了一些(部分操作涉及寄存器),因為SCL時鐘信號由主機提供,且要在合適時刻發(fā)送NACK信號結束接收數(shù)據(jù)。

主模式接收數(shù)據(jù)時序說明
主模式連續(xù)接收結束通訊注意事項
連續(xù)接收數(shù)據(jù)配置流程


連續(xù)接收數(shù)據(jù)配置(連續(xù)接收MPU6050的7個16位的原始測量數(shù)據(jù))

邏輯分析儀抓取的通訊時序圖

連續(xù)接收MPU6050的14字節(jié)原始測量數(shù)據(jù)


4、小結

????????使用硬件IIC連續(xù)發(fā)送接收數(shù)據(jù)的方法到這里就介紹完了,程序大部分是移植了之前在STM32F407平臺上反復驗證過的代碼,寄存器操作部分做了對應的調整。這里要小小吐槽一下,CH32V103參考手冊IIC章節(jié)并沒有提及具體操作流程,為了探究使用硬件IIC連續(xù)發(fā)送接收數(shù)據(jù)的方法,只能在參考手冊內容寫的更詳細的的STM32F407平臺做驗證再移植。

????????


CH32V103學習筆記之六——硬件IIC主模式連續(xù)接發(fā)數(shù)據(jù)的評論 (共 條)

分享到微博請遵守國家法律
浙江省| 内乡县| 永兴县| 工布江达县| 双峰县| 潮安县| 石河子市| 济源市| 台中市| 涪陵区| 株洲县| 都兰县| 宣威市| 招远市| 黎川县| 洞头县| 广安市| 鄂州市| 大姚县| 东阿县| 通山县| 汉源县| 光泽县| 开原市| 黄陵县| 平潭县| 黄骅市| 香格里拉县| 莱州市| 钟山县| 五指山市| 西和县| 凤台县| 中卫市| 清流县| 青铜峡市| 渑池县| 舒城县| 安多县| 五台县| 上犹县|