99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

【御芯微UCM108E開(kāi)發(fā)板試用體驗(yàn)】UCM108E二次開(kāi)發(fā)-外部中斷&&定時(shí)器&&PWM使用

開(kāi)發(fā)板試用精選 ? 來(lái)源:開(kāi)發(fā)板試用 ? 作者:電子發(fā)燒友論壇 ? 2022-11-24 17:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文來(lái)源電子發(fā)燒友社區(qū),作者:許鵬虎, 帖子地址:https://bbs.elecfans.com/jishu_2287620_1_1.html

UCM108E二次開(kāi)發(fā)-外部中斷&&定時(shí)器&&PWM使用

這節(jié)內(nèi)容主要是介紹UCM108E的片內(nèi)外設(shè)使用情況,同樣也是用官方提供的二次開(kāi)發(fā)demo來(lái)做進(jìn)一步的開(kāi)發(fā)。

GPIO外部中斷

UC8188的GPIO使用起來(lái)比較簡(jiǎn)單,官方也提供了比較全面的函數(shù)庫(kù)。GPIO控制器可以驅(qū)動(dòng)或者獲取信號(hào)/數(shù)據(jù)。通過(guò)相應(yīng)的寄存器,可以定義I/O的功能、方向、狀態(tài)以及中斷。

GPIO的主要特點(diǎn)

??-?受控I/O個(gè)數(shù)微29
??-?I/O輸入/輸出可配
??-?輸入/輸出狀態(tài):上拉、浮空
??-?所有I/O均可作為中斷源,觸發(fā)方式可配:低電平、高電平、上升沿、下降沿
??-?I/O功能多重復(fù)用

同時(shí)也需要指出,GPIO的功能并沒(méi)有類似于STM32類型的MCU多,比如IO都不支持下拉功能,所以在進(jìn)行硬件設(shè)計(jì)的時(shí)候,需要詳細(xì)參考GPIO特性,在硬件設(shè)計(jì)上面不足或者規(guī)避這些不足。

編寫示例函數(shù)

操作GPIO為外部中斷觸發(fā)模式,主要是由以下幾個(gè)步驟:

  1. 將IO設(shè)置為輸入模式-->設(shè)置中斷觸發(fā)類型-->使能中斷-->使能全局中斷
static void trigger_gpio_init(void)
{
    gpio_set_pin_direction(UC_GPIO, TRIGGER_GPS_PPS_GPIO, GPIO_DIR_IN);
    gpio_set_irq_type(UC_GPIO, TRIGGER_GPS_PPS_GPIO, GPIO_IT_RISE_EDGE);
    gpio_set_irq_en(UC_GPIO, TRIGGER_GPS_PPS_GPIO, 1);
    gpio_int_enable();//enable gpio interrupt
    printf("trigger gpio pin init done.rn");
}
  1. 編寫中斷服務(wù)函數(shù)-->獲取中斷狀態(tài)-->清除中斷標(biāo)記位
/*
 * [url=home.php?mod=space&uid=2666770]@Brief[/url]   GPIO interrupt service function
 * [url=home.php?mod=space&uid=3142012]@param[/url] 	None
 * @retval  None
 */
void gpio_handler(void)
{
    uint32_t pin, status;

    status = gpio_get_irq_status(UC_GPIO);  // get gpip irq status
    gpio_int_clear_pending();               // clear gpio interrupt pending

    for (pin = GPIO_PIN_0; pin <= GPIO_PIN_29; pin++) {
        if (status & (1 << pin)) {
            printf("GPIO %d INTERRPUTrn", pin);
        }
    }
}

注意:

  1. 中斷標(biāo)記位一定要在中斷服務(wù)函數(shù)里面清除,不然下次無(wú)法繼續(xù)觸發(fā)中斷
  2. 中斷服務(wù)函數(shù)的入口是gpio_handler,在UC8188的單獨(dú)示例中,中斷服務(wù)函數(shù)是ISR_GPIO
  3. 在本示例工程的libraries/HAL_Drivers/drv_gpio.c中也有gpio_handler需要將此先屏蔽,然后自己實(shí)現(xiàn)這個(gè)中斷服務(wù)函數(shù)

燒錄運(yùn)行

將上述代碼編譯完成后,燒錄到開(kāi)發(fā)板運(yùn)行,然后手動(dòng)觸發(fā)GPIO25,可以看到中斷打印

Time: 2022/6/18 19:53:38.00
POS: ST 10, tLon 1.899968, tLat 0.596802, fAlt: 38.554977
Time: 2022/6/18 19:53:39.00
POS: ST 10, tLon 1.899968, tLat 0.596802, fAlt: 38.554977
Time: 2022/6/18 19:53:40.00
POS: ST 10, tLon 1.899968, tLat 0.596802, fAlt: 38.554977
Time: 2022/6/18 19:53:41.00
POS: ST 10, tLon 1.899968, tLat 0.596802, fAlt: 38.554977
GPIO 25 INTERRPUT
Time: 2022/6/18 19:53:42.00
POS: ST 10, tLon 1.899968, tLat 0.596802, fAlt: 38.554977
GPIO 25 INTERRPUT
Time: 2022/6/18 19:53:43.00
POS: ST 10, tLon 1.899968, tLat 0.596802, fAlt: 38.554977
GPIO 25 INTERRPUT
Time: 2022/6/18 19:53:44.00
POS: ST 10, tLon 1.899968, tLat 0.596802, fAlt: 38.554977
GPIO 25 INTERRPUT

定時(shí)器

UC8188有兩個(gè)獨(dú)立的定時(shí)器,設(shè)計(jì)的也比較簡(jiǎn)單。

主要特點(diǎn)

  • 32位加計(jì)數(shù)器
  • 3位可編程(可以實(shí)時(shí)修改)預(yù)分頻器,定時(shí)器時(shí)鐘=系統(tǒng)時(shí)鐘/(預(yù)分頻系數(shù)+1)
  • 兩種中斷或事件類型可選擇,即計(jì)數(shù)器溢出和比較結(jié)果相等觸發(fā)

編寫示例函數(shù)

我主要是用定時(shí)器來(lái)做一個(gè)精確計(jì)時(shí),所以只用了定時(shí)中斷功能。在確定定時(shí)時(shí)間之前,需要確定系統(tǒng)主頻,分頻系數(shù)等關(guān)鍵指標(biāo)。通過(guò)研讀代碼我們可知在啟動(dòng)函數(shù)那里,配置了系統(tǒng)主頻

addi   x11, x0, 70  //131.072Mhz-->0xc80000, 115200 for sim
  jal  uart_set_cfg
  1. 配置分頻系數(shù)和計(jì)數(shù)值-->工作在計(jì)數(shù)模式-->使能計(jì)數(shù)溢出中斷-->使能總中斷
cfg.pre = 7;
	cfg.cnt = 0xffffffffU - ((SYSTEM_CLK>>8)/(cfg.pre+1))*1;// 1/256 S
	cfg.cmp = 0;//It must be 0 in this mode.
	timer_init(UC_TIMER1, &cfg);
	timer_enable(UC_TIMER1);
	timer_int_enable(UC_TIMER1, TIMER_IT_OVF);
	int_enable();
  1. 編寫中斷服務(wù)函數(shù)-->清除中斷-->重新裝入計(jì)數(shù)值-->做自己的業(yè)務(wù)
static int cnt = 0;

	timer_int_clear_pending(UC_TIMER1, TIMER_IT_OVF);
	// 這里和上面的初始化是一樣的,簡(jiǎn)化了一下算法
	timer_set_count(UC_TIMER1, 0xffffffffU - (SYSTEM_CLK>>11));//1S]
    cnt++;
    if(cnt%0xff == 0){
        printf("timer1 overflow interrupt!!!rn");
    }

燒錄運(yùn)行

編譯上述代碼,在串口工具中應(yīng)該會(huì)每隔1s打印一下

timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!
timer1 overflow interrupt!!!

PWM

PWM外設(shè)相對(duì)來(lái)說(shuō)也是比較簡(jiǎn)單。

特點(diǎn)

  • 四路獨(dú)立輸出PWM
  • 可配置周期和占空比

編寫示例函數(shù)

我的需求是,可以調(diào)節(jié)一個(gè)燈的亮度,并且可以周期的控制燈的閃爍邏輯。

  1. 確定PWM外接的GPIO管腳,使能對(duì)應(yīng)的PWM--> 設(shè)置周期-->設(shè)置占空比
pwm_enable(UC_PWM3);
    pwm_set_period(UC_PWM3, 1000);
    pwm_set_duty(UC_PWM3, 300);
  1. 周期閃爍
while(1)
    {
        printf("cnt : %drn", cnt++);
        pwm_set_duty(UC_PWM3, 30);  // led on light:3%
        delay_ms(500);
        pwm_set_duty(UC_PWM3, 0);  // led off
        delay_ms(500);
    }

注意:這里我嘗試使用pwm_enablepwm_disable來(lái)控制燈的亮滅,但是發(fā)現(xiàn)pwm_disable后GPIO默認(rèn)是高電平,不符合我的設(shè)計(jì)需求,故用占空比為0表示燈滅,由于PWM外設(shè)過(guò)于簡(jiǎn)單,在做硬件設(shè)計(jì)的時(shí)候需要注意這里。

燒錄運(yùn)行

將上述代碼燒錄到開(kāi)發(fā)板,可以看到1s一次打印cnt值,同時(shí)LED燈也在閃爍,改變duty可以改變led亮度

pwm test
cnt : 0
cnt : 1
cnt : 2
cnt : 3
cnt : 4
cnt : 5

總結(jié)

UC8188的外設(shè)使用起來(lái)很簡(jiǎn)單,也很實(shí)用。但是在做相關(guān)硬件設(shè)計(jì)時(shí),需要注意。

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

    關(guān)注

    4

    文章

    58

    瀏覽量

    3554
  • 開(kāi)發(fā)板試用

    關(guān)注

    3

    文章

    302

    瀏覽量

    2403
  • UCM108E
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

    192
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Texas Instruments AMP-PDK-EVM子開(kāi)發(fā)套件數(shù)據(jù)手冊(cè)

    Texas Instruments AMP-PDK-EVM子開(kāi)發(fā)套件設(shè)計(jì)用于搭配AMP-PDK-EVM主板使用。子套件選項(xiàng)適用于不同封裝
    的頭像 發(fā)表于 07-09 14:15 ?122次閱讀
    Texas Instruments <b class='flag-5'>AMP</b>-PDK-EVM子<b class='flag-5'>板</b><b class='flag-5'>開(kāi)發(fā)</b>套件數(shù)據(jù)手冊(cè)

    新知|Verizon與AT&amp;amp;amp;T也可以手機(jī)直接連接衛(wèi)星了

    近日,Verizon與AT&amp;T宣布,手機(jī)直連衛(wèi)星方面取得重要進(jìn)展,使用普通手機(jī)實(shí)現(xiàn)了通過(guò)衛(wèi)星的視頻通話。很顯然,Verizon與AT&amp;T的這一舉措是針對(duì)此前T-Mobile
    的頭像 發(fā)表于 06-19 07:07 ?453次閱讀
    新知|Verizon與AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T也可以手機(jī)直接連接衛(wèi)星了

    雙模載波芯片CN8513&amp;amp;amp;CN8514在智能家居中的創(chuàng)新應(yīng)用

    雙模載波芯片CN8513&amp;CN8514在智能家居中的創(chuàng)新應(yīng)用
    的頭像 發(fā)表于 02-10 09:43 ?468次閱讀
    雙模載波芯片CN8513&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;CN8514在智能家居中的創(chuàng)新應(yīng)用

    HPLC+HRF雙模載波芯片CN8513&amp;amp;amp;CN8514應(yīng)用于智能樓宇

    HPLC+HRF雙模載波芯片CN8513&amp;CN8514應(yīng)用于智能樓宇
    的頭像 發(fā)表于 01-09 10:01 ?543次閱讀
    HPLC+HRF雙模載波芯片CN8513&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;CN8514應(yīng)用于智能樓宇

    HPLC+HRF雙模載波芯片CN8513&amp;amp;amp;CN8514用于智能抄表系統(tǒng)

    HPLC+HRF雙模載波芯片CN8513&amp;CN8514用于智能抄表系統(tǒng)
    的頭像 發(fā)表于 01-03 10:04 ?1254次閱讀
    HPLC+HRF雙模載波芯片CN8513&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;CN8514用于智能抄表系統(tǒng)

    如何判斷產(chǎn)品需不需要做AT&amp;amp;amp;T認(rèn)證?AT&amp;amp;amp;T測(cè)試內(nèi)容和要求分享

    隨著經(jīng)濟(jì)全球化的發(fā)展,國(guó)內(nèi)越來(lái)越多產(chǎn)品廠商選擇將自家產(chǎn)品出口到北美市場(chǎng),而這時(shí)候各位廠商都會(huì)面臨產(chǎn)品需不需要做AT&amp;T的問(wèn)題。今天英利檢測(cè)針對(duì)這一問(wèn)題整理了一些關(guān)于AT&amp;T認(rèn)證中
    的頭像 發(fā)表于 12-23 17:46 ?619次閱讀
    如何判斷產(chǎn)品需不需要做AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T認(rèn)證?AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T測(cè)試內(nèi)容和要求分享

    北美運(yùn)營(yíng)商AT&amp;amp;amp;T認(rèn)證中的VoLTE測(cè)試項(xiàng)

    北美運(yùn)營(yíng)商AT&amp;T的認(rèn)證測(cè)試內(nèi)容涵蓋了多個(gè)方面,以確保設(shè)備和服務(wù)的質(zhì)量、兼容性以及用戶體驗(yàn)。在AT&amp;T的認(rèn)證測(cè)試中,VoLTE(VoiceoverLTE)測(cè)試項(xiàng)是一個(gè)重要的組成部分
    的頭像 發(fā)表于 12-06 16:52 ?597次閱讀
    北美運(yùn)營(yíng)商AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T認(rèn)證中的VoLTE測(cè)試項(xiàng)

    北美運(yùn)營(yíng)商AT&amp;amp;amp;T認(rèn)證的測(cè)試內(nèi)容有哪些?

    北美運(yùn)營(yíng)商AT&amp;T的認(rèn)證測(cè)試內(nèi)容涵蓋了多個(gè)方面,以確保設(shè)備和服務(wù)的質(zhì)量、兼容性以及用戶體驗(yàn)。以下是英利檢測(cè)整合的AT&amp;T認(rèn)證的主要測(cè)試內(nèi)容:基礎(chǔ)認(rèn)證測(cè)試聯(lián)邦通信委員會(huì)(FCC
    的頭像 發(fā)表于 11-12 17:39 ?828次閱讀
    北美運(yùn)營(yíng)商AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T認(rèn)證的測(cè)試內(nèi)容有哪些?

    能力再次提升! 迅為RK3588/RK3568開(kāi)發(fā)板&amp;amp;amp;核心新增定制分區(qū)鏡像

    能力再次提升! 迅為RK3588/RK3568開(kāi)發(fā)板&amp;核心新增定制分區(qū)鏡像
    的頭像 發(fā)表于 11-06 15:11 ?1417次閱讀
    能力再次提升! 迅為RK3588/RK3568<b class='flag-5'>開(kāi)發(fā)板</b>&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;核心<b class='flag-5'>板</b>新增定制分區(qū)鏡像

    迅為itop-3568開(kāi)發(fā)板AMP雙系統(tǒng)使用手冊(cè)之燒寫AMP鏡像

    迅為itop-3568開(kāi)發(fā)板AMP雙系統(tǒng)使用手冊(cè)之燒寫AMP鏡像
    的頭像 發(fā)表于 11-04 15:00 ?1256次閱讀
    迅為itop-3568<b class='flag-5'>開(kāi)發(fā)板</b><b class='flag-5'>AMP</b>雙系統(tǒng)使用手冊(cè)之燒寫<b class='flag-5'>AMP</b>鏡像

    北美運(yùn)營(yíng)商AT&amp;amp;amp;T認(rèn)證的費(fèi)用受哪些因素影響

    申請(qǐng)北美運(yùn)營(yíng)商AT&amp;T認(rèn)證的價(jià)格因多種因素而異,包括產(chǎn)品類型、認(rèn)證范圍、測(cè)試難度等。一般來(lái)說(shuō),申請(qǐng)AT&amp;T認(rèn)證的費(fèi)用可能相對(duì)較高,因?yàn)锳T&amp;T作為北美地區(qū)的主要電信運(yùn)營(yíng)商,其
    的頭像 發(fā)表于 10-16 17:10 ?638次閱讀
    北美運(yùn)營(yíng)商AT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;T認(rèn)證的費(fèi)用受哪些因素影響

    onsemi LV/MV MOSFET 產(chǎn)品介紹 &amp;amp;amp; 行業(yè)應(yīng)用

    01直播介紹直播時(shí)間2024/10/281430直播內(nèi)容1.onsemiLV/MVMOSFET產(chǎn)品優(yōu)勢(shì)&amp;市場(chǎng)地位。2.onsemiLV/MVMOSFETRoadmap。3.onsemiT10
    的頭像 發(fā)表于 10-13 08:06 ?904次閱讀
    onsemi LV/MV MOSFET 產(chǎn)品介紹 &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; 行業(yè)應(yīng)用

    思瑞浦車規(guī)級(jí)產(chǎn)品矩陣,全面覆蓋汽車級(jí)CAN&amp;amp;amp;LIN、LDO需求

    聚焦高性能模擬芯片和嵌入式處理近期,思瑞浦為廣大工程師帶來(lái)了《思瑞浦車規(guī)級(jí)產(chǎn)品矩陣,全面覆蓋汽車級(jí)CAN&amp;LIN、LDO需求》的在線研討會(huì)直播,重點(diǎn)介紹了思瑞浦汽車產(chǎn)品布局與技術(shù)優(yōu)勢(shì),同時(shí)
    的頭像 發(fā)表于 09-21 08:10 ?1124次閱讀
    思瑞浦車規(guī)級(jí)產(chǎn)品矩陣,全面覆蓋汽車級(jí)CAN&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;LIN、LDO需求

    OC7201C資料(PCB &amp;amp; 原理圖)

    電子發(fā)燒友網(wǎng)站提供《OC7201C資料(PCB &amp; 原理圖).zip》資料免費(fèi)下載
    發(fā)表于 07-18 16:19 ?2次下載

    FS201資料(pcb &amp;amp; DEMO &amp;amp; 原理圖)

    電子發(fā)燒友網(wǎng)站提供《FS201資料(pcb &amp; DEMO &amp; 原理圖).zip》資料免費(fèi)下載
    發(fā)表于 07-16 11:24 ?2次下載