亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

GPIO外部中斷

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

GPIO的主要特點

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

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

編寫示例函數(shù)

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

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

燒錄運行

將上述代碼編譯完成后,燒錄到開發(fā)板運行,然后手動觸發(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

定時器

UC8188有兩個獨立的定時器,設(shè)計的也比較簡單。

主要特點

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

編寫示例函數(shù)

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

addi   x11, x0, 70  //131.072Mhz-->0xc80000, 115200 for sim
  jal  uart_set_cfg
  1. 配置分頻系數(shù)和計數(shù)值-->工作在計數(shù)模式-->使能計數(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ù)-->清除中斷-->重新裝入計數(shù)值-->做自己的業(yè)務(wù)
static int cnt = 0;

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

燒錄運行

編譯上述代碼,在串口工具中應(yīng)該會每隔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è)相對來說也是比較簡單。

特點

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

編寫示例函數(shù)

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

  1. 確定PWM外接的GPIO管腳,使能對應(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來控制燈的亮滅,但是發(fā)現(xiàn)pwm_disable后GPIO默認是高電平,不符合我的設(shè)計需求,故用占空比為0表示燈滅,由于PWM外設(shè)過于簡單,在做硬件設(shè)計的時候需要注意這里。

燒錄運行

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

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

總結(jié)

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

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

    關(guān)注

    4

    文章

    60

    瀏覽量

    3727
  • 開發(fā)板試用
    +關(guān)注

    關(guān)注

    3

    文章

    303

    瀏覽量

    2624
  • UCM108E
    +關(guān)注

    關(guān)注

    0

    文章

    13

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    1218 MHz 高輸出 GaN CATV 功率倍增 Amp擴音 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()1218 MHz 高輸出 GaN CATV 功率倍增 Amp擴音相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有1218 MHz 高輸出 GaN CATV 功率倍增
    發(fā)表于 09-01 18:30
    1218 MHz 高輸出 GaN CATV 功率倍增<b class='flag-5'>器</b> <b class='flag-5'>Amp</b>擴音<b class='flag-5'>器</b> skyworksinc

    870 MHz、25 dB 增益 CATV 功率倍增 Amp擴音 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()870 MHz、25 dB 增益 CATV 功率倍增 Amp擴音相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊,更有870 MHz、25 dB 增益 CATV 功率倍增
    發(fā)表于 09-01 18:30
    870 MHz、25 dB 增益 CATV 功率倍增<b class='flag-5'>器</b> <b class='flag-5'>Amp</b>擴音<b class='flag-5'>器</b> skyworksinc

    CS86706適用1~3節(jié)鋰電應(yīng)用,內(nèi)置升壓模塊,2×30W立體聲&amp;amp;amp;50W單聲道R類音頻功率放大器

    CS86706適用1~3節(jié)鋰電應(yīng)用,內(nèi)置升壓模塊,2×30W立體聲&amp;amp;50W單聲道R類音頻功率放大器
    的頭像 發(fā)表于 07-16 20:42 ?320次閱讀
    CS86706適用1~3節(jié)鋰電應(yīng)用,內(nèi)置升壓模塊,2×30W立體聲&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;50W單聲道R類音頻功率放大器

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

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

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

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

    TFT&amp;amp;LCD,是電阻屏還是電容屏?

    TFT&amp; LCD是采用薄膜晶體管技術(shù)的液晶觸摸顯示,它本身并不決定是電阻屏還是電容屏。電阻屏和電容屏指的是不同的觸摸技術(shù),電容屏在現(xiàn)代設(shè)備中更為常見。
    的頭像 發(fā)表于 04-14 13:35 ?1196次閱讀
    TFT&<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;LCD,是電阻屏還是電容屏?

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

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

    “國產(chǎn)雙系統(tǒng)”出爐!復(fù)旦FMQL20SM非對稱AMP:Linux + 裸機

    Linux + RTOS/裸機,但需一個主核心來控制整個系統(tǒng)以及其它從核心。每個處理核心相互隔離,擁有屬于自己的內(nèi)存,既可各自獨立運行不同的任務(wù),又可多個核心之間進行核間通信。 圖 1 FMQL20SM AMP異構(gòu)多核框架示意圖 “非對稱
    的頭像 發(fā)表于 01-24 13:46 ?1073次閱讀
    “國產(chǎn)雙系統(tǒng)”出爐!復(fù)旦<b class='flag-5'>微</b>FMQL20SM非對稱<b class='flag-5'>AMP</b>:Linux + 裸機

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

    HPLC+HRF雙模載波芯片CN8513&amp;CN8514應(yīng)用于智能樓宇
    的頭像 發(fā)表于 01-09 10:01 ?1055次閱讀
    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 ?2208次閱讀
    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認證?AT&amp;amp;amp;T測試內(nèi)容和要求分享

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

    凌科電氣YU系列工業(yè)級連接登場,解鎖USB&amp;amp;Type-C多模塊新體驗!

    近日,凌科全新推出YU系列USB&amp;amp;Type-C多模塊工業(yè)級連接,在功能上實現(xiàn)了全面升級。
    的頭像 發(fā)表于 12-18 09:46 ?748次閱讀

    北美運營商AT&amp;amp;amp;T認證中的VoLTE測試項

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

    峰岹科技獲得鄧白氏(Dun &amp;amp;amp; Bradstreet)國際認證

    Dun&amp;Bradstreet國際認證【2024年11月,深圳】——領(lǐng)先的電機驅(qū)動控制芯片及控制系統(tǒng)供應(yīng)商峰岹科技正式獲得國際知名商業(yè)信息解決方案提供商鄧白氏(Dun&amp
    的頭像 發(fā)表于 11-27 11:46 ?914次閱讀
    峰岹科技獲得鄧白氏(Dun &<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>;<b class='flag-5'>amp</b>; Bradstreet)國際認證

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

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