RISC-V MCU中文社区

Arty e203 PWM中斷

发表于 开源蜂鸟E203 2020-10-12 23:21:39
7
5113
0

請問有人調試過PWM觸發中斷嗎? 我參考書中的設定,自行修改demo_gpio如下

(1)在main中添加PWM_CFG定義,使用的是PWM1, 僅用CMP0通道

(2)添加PLIC與PWM的中斷始能訊號

(3)最後寫一個簡單的PWM ISR, 做的事情是反轉LED.


但最後結果是LED並沒有反轉

我寫了一段printf在handle_m_ext_interrupt()函式中用來確認中斷源,經過與按鈕的外部中斷測試後發現PWM好像根本就沒有觸發過中斷,想請問我是哪裡有設定錯嗎?還是還漏了哪些東西呢?有大大願意分享嗎?? 感謝

喜欢0
用户评论 (7)
  • Wayne

    2020-10-19 13:24:57 Wayne 1#

    請問有人能開示一下嗎? 另外我單純要輸出PWM1 波形 我設定GPIO的IOF_EN=1, SEL也為1 但是在示波器沒看到訊號,有人能提供一些建議嗎?

  • Wayne

    2020-10-13 15:01:04 Wayne 2#

    透過GDB看PWMCOUNT位是有一直在計數的..但就是不知道為何不會觸發中斷, 中斷編號也是定位在44號位, 求大神開釋

  • Wayne

    2020-10-13 14:07:59 Wayne 3#

    领主文

    默认为0,那么触发了置1这样吧,还在Pending

    我只是在初始化階段它就全部拉成1了, 不太了解他的機制

  • 领主文

    2020-10-13 12:09:22 领主文 4#

    Wayne

    我的pwmsticky域已經為1, 我檢視了一下發現就算我一開始把CFG整個清零,中斷pending域(bit 31~28)還是會直接被填成0xf,這是代表為0才算觸發中斷嗎?

    默认为0,那么触发了置1这样吧,还在Pending

  • Wayne

    2020-10-13 12:02:03 Wayne 5#

    领主文

    可以试一下把pwmsticky域置1,让中断pending一直保持来检查一下是否触发中断。

    我的pwmsticky域已經為1, 我檢視了一下發現就算我一開始把CFG整個清零,中斷pending域(bit 31~28)還是會直接被填成0xf,這是代表為0才算觸發中斷嗎?

  • Wayne

    2020-10-13 12:01:21 Wayne 6#

    書中寫默認值為0.. 但好像不是這樣啊....另外我覺得書中沒有搭配範例程式有點難測試, 有人同時有測PWM GPIO IOF輸出的嗎?? 希望討論能熱絡點

  • 领主文

    2020-10-13 10:28:16 领主文 7#

    可以试一下把pwmsticky域置1,让中断pending一直保持来检查一下是否触发中断。

Wayne

Wayne 实名认证

懒的都不写签名

积分
问答
粉丝
关注
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板