精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

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

【RTT大賽作品連載】CH32V RTT微秒延時(shí)的實(shí)現(xiàn)

煲仔鹵煮的煉鋼 ? 來源:煲仔鹵煮的煉鋼 ? 作者:煲仔鹵煮的煉鋼 ? 2021-11-29 08:30 ? 次閱讀

CH32V103是沁恒出的一款基于RiscV核心的單片機(jī),在官網(wǎng)有該芯片資料、庫函數(shù)和例程,另外沁恒還開發(fā)了一款I(lǐng)DE:MounRiver Studio。里面也提供了不少的例程可以參考,其中就有帶rt-thread操作系統(tǒng)的例程,雖然只有一個(gè)LED的,但聊勝于無,畢竟rt-thread的bsp中還沒有支持到這個(gè)芯片。

所以我就基于led功能進(jìn)行了新功能的開發(fā),但發(fā)現(xiàn)其中bsp這塊確實(shí)匱乏,只有g(shù)pio和uart的drv實(shí)現(xiàn),其他的都還沒做移植,也罷,那我就!!

先不用其他了。。iic spi之類的直接用庫函數(shù)來操作了。什么?你說移植下不就好了?

對(duì)啊,但是打工人沒時(shí)間啊。。哎

會(huì)到本帖主題,在調(diào)試IIC的時(shí)候我發(fā)現(xiàn)總是卡在busy,初始化之后就開始總線繁忙,怎么也越不過去了。。。雖然我知道這不一定是像STM32那樣的硬件故障導(dǎo)致的,但是卡的我還是選擇了軟件仿真iic,結(jié)果直接就能讀到數(shù)據(jù)了。。。

嗯,本帖也不是講IIC的,是在過程中我發(fā)現(xiàn)沒有微妙延時(shí)啊,drv_common也沒有移植過來。。。所以rt_hw_us_delay()這個(gè)光有聲明沒有實(shí)現(xiàn)。。

于是我參考drv_common中的實(shí)現(xiàn)方法,實(shí)現(xiàn)了個(gè)

void rt_hw_us_delay(rt_uint32_t us)
{
    rt_uint32_t start, now, delta, reload, us_tick;
    start = SysTick->VAL;
    reload = SysTick->LOAD;
    us_tick = SystemCoreClock / 1000000UL;
    do {
        now = SysTick->VAL;
        delta = start > now ? start - now : reload + start - now;
    } while(delta < us_tick * us);
}

因?yàn)镃H32V103的systick寄存器定義和st的有些差異,因此這里我就直接取值定義了兩個(gè)宏,在CH32V103的手冊(cè)中有描述,系統(tǒng)計(jì)數(shù)器低位/高位寄存器可以通過8位/16位/32位來讀取,但只能8位來寫入。

poYBAGGjWSmATYs7AAFbSXibDH4796.png

反正也只是讀取數(shù)據(jù),就無所謂了。

#define SysTick_VAL          ((UINT32 *) 0xE000F004)
#define SysTick_LOAD         ((UINT32 *) 0xE000F00C)
void rt_hw_us_delay(rt_uint32_t us)
{
    rt_uint32_t start, now, delta, reload, us_tick;
    start = *SysTick_VAL;
    reload = *SysTick_LOAD;
    us_tick = SystemCoreClock / 1000000UL;
    do {
        now = *SysTick_VAL;
        delta = start > now ? start - now : reload + start - now;
    } while(delta < us_tick * us);
}

這段函數(shù)定義在board.c中,這樣就不用聲明,直接可以用了。

這樣我的模擬iic速度就起來了。

“為啥不移植下drv_common.c?”

“因?yàn)槲覒小!!?/span>

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

    關(guān)注

    6032

    文章

    44521

    瀏覽量

    633120
  • RTT
    RTT
    +關(guān)注

    關(guān)注

    0

    文章

    65

    瀏覽量

    17088
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1273

    瀏覽量

    39928
  • RISC-V
    +關(guān)注

    關(guān)注

    44

    文章

    2230

    瀏覽量

    46036
  • ch32
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    628
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RTT大賽作品連載】AB32VG1評(píng)估板到貨控制彩燈測(cè)試

    RTT大賽作品連載】AB32VG1評(píng)估板到貨控制彩燈測(cè)試篇;接下來看看在如何AB32VG1評(píng)估板控制彩燈! 在RT-ThreadStudio新建項(xiàng)目到對(duì)應(yīng)開發(fā)配置及下載及驗(yàn)證測(cè)試!
    的頭像 發(fā)表于 11-07 19:39 ?5167次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】AB32VG1評(píng)估板到貨控制彩燈測(cè)試

    RTT大賽作品連載CH32V103開發(fā)板資料及上電首測(cè)

    簡介 ? 參加論壇舉辦的rtt大賽也有幾天了,我選用的是CH32V103的板子,第一步就是收集板卡的相關(guān)資料了。 CH32V103是 沁恒微電子設(shè)計(jì)的一款RSIC-
    的頭像 發(fā)表于 11-15 08:45 ?8575次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】<b class='flag-5'>CH32V</b>103開發(fā)板資料及上電首測(cè)

    RTT大賽作品連載】AB32VG1評(píng)估板 音樂播放器

    RTT大賽作品連載】AB32VG1評(píng)估板 音樂播放器
    的頭像 發(fā)表于 11-12 21:11 ?6202次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】AB32VG1評(píng)估板 音樂播放器

    RTT大賽作品連載】中科藍(lán)訊AB32VG1開發(fā)板開箱篇

    介紹電路原理圖分析接口說明,AB32VG1開發(fā)板是以中科藍(lán)訊(Bluetrum)公司推出的基于RISC-V架構(gòu)的高配置芯片AB5301A為核心所組成的。【RTT大賽作品
    的頭像 發(fā)表于 11-13 10:01 ?1w次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】中科藍(lán)訊AB32VG1開發(fā)板開箱篇

    RTT大賽作品連載CH32V103 USBHID鍵盤鼠標(biāo)

    基于CH32V103實(shí)現(xiàn)了USB HID的鍵盤鼠標(biāo)功能,提供寫好的代碼文件,歡迎fork。
    的頭像 發(fā)表于 11-29 08:49 ?7854次閱讀

    RTT大賽作品連載】 PWM操作蜂鳴器

    使用AB32VG1的PWM來操作無源蜂鳴器,能夠輸出頻率為1KHz到20KHz的聲音。
    的頭像 發(fā)表于 12-06 08:36 ?9564次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】 PWM操作蜂鳴器

    RTT大賽作品連載】 OLED顯示中文

    使用AB32VG1操作OLED顯示文字信息,包括漢字取模方式介紹,漢字顯示函數(shù)編寫.
    的頭像 發(fā)表于 12-06 09:25 ?8856次閱讀
    【<b class='flag-5'>RTT</b><b class='flag-5'>大賽</b><b class='flag-5'>作品</b><b class='flag-5'>連載</b>】 OLED顯示中文

    【文章連載】RT-Thread創(chuàng)新應(yīng)用大賽文章匯總

    連載】中科藍(lán)訊AB32VG1開發(fā)板開箱篇專欄作者:煲仔鹵煮的煉鋼【RTT大賽作品連載CH32V
    發(fā)表于 10-11 15:13

    【有獎(jiǎng)活動(dòng)】RT-Thread創(chuàng)新應(yīng)用大賽作品連載征文

    禮品:https://jifen.elecfans.com/index.html?文章標(biāo)題格式:【RTT大賽作品連載】+自擬內(nèi)容?文章作品
    發(fā)表于 10-21 18:49

    【二等獎(jiǎng)】RT-Thread創(chuàng)新應(yīng)用設(shè)計(jì)大賽作品1

    ,于是研究了下并寫了【RTT大賽作品連載CH32V RTT
    發(fā)表于 01-25 11:49

    RTT Studio ch32v307的堆內(nèi)存最大化

    看看ch32v的各個(gè)段是怎么分配的,不熟悉鏈接腳本的盆友可以先看這個(gè),這個(gè)文章講的挺好,RISC-V MCU CH32V307 ld鏈接腳本說明點(diǎn)開Link.ld(RTT Studio
    發(fā)表于 02-07 11:55

    華大單片機(jī)HC32L136+RTT踩坑(官方延時(shí)函數(shù))

    問題:移植完RTT后運(yùn)行正常,加入ADC測(cè)量后卡死在空閑線程。原因:華大單片機(jī)官方庫中含有延時(shí)函數(shù),延時(shí)函數(shù)使用滴答定時(shí)器實(shí)現(xiàn)。在ADC使用中必需開啟BGR模塊(功能沒看懂),開啟過程
    發(fā)表于 11-23 17:21 ?13次下載
    華大單片機(jī)HC32L136+<b class='flag-5'>RTT</b>踩坑(官方<b class='flag-5'>延時(shí)</b>函數(shù))

    MM32F013x——RTT使用技巧

    SEGGER的實(shí)時(shí)傳輸(Real Time Transfer, RTT)是嵌入式應(yīng)用中用戶I/O交互的一種新技術(shù)。J-Link RTT Viewer是在調(diào)試主機(jī)上使用RTT功能的Win...
    發(fā)表于 01-25 18:34 ?4次下載
    MM32F013x——<b class='flag-5'>RTT</b>使用技巧

    RTT是什么?對(duì)TCP中RTT時(shí)延的理解

    最近服務(wù)器環(huán)境部署了**tcprtt**網(wǎng)絡(luò)時(shí)延監(jiān)控,發(fā)現(xiàn)不同服務(wù)器不同節(jié)點(diǎn)之間的RTT時(shí)延表象非常奇怪,無法準(zhǔn)確的判斷服務(wù)器的網(wǎng)絡(luò)情況。
    的頭像 發(fā)表于 10-09 16:24 ?4w次閱讀
    <b class='flag-5'>RTT</b>是什么?對(duì)TCP中<b class='flag-5'>RTT</b>時(shí)延的理解

    RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢?

    RTT_Draco的外置uart接口(TXD,RXD)怎么配置和使用呢? RT-Thread的RTT_Draco是一款高性能的MCU芯片,它提供了外置UART接口(TXD,RXD)用于與外部設(shè)備進(jìn)行
    的頭像 發(fā)表于 01-16 17:11 ?976次閱讀