中级会员
- 积分
- 249
- 金钱
- 249
- 注册时间
- 2018-10-17
- 在线时间
- 40 小时
|
1金钱
本帖最后由 hunkchen2000 于 2023-9-27 18:15 编辑
請問各位,我在想要計算Tim3產生的PWM的脈波寬度,我不太想要用正點原子
的範例程式碼,我想要自己想自己改~~但是我發現雖然我利用TIM3去觸發TIM5
並且利用TIM3上沿和下沿觸發, 抓取TIM_GetCapture1(TIM5)並且計算TIM3的
脈波寬度是99%成功的ˊ,但是卻看見一個很詭異的現象!
只要上沿觸發抓取TIM_GetCapture1(TIM5)的值非常接近65535,那麼計算出來的
脈波寬度就會少65535us,真的是太神奇了,如果我的程式碼有問題,那我應該1mse
~1000ms沒有一次算得出正確的脈波寬度,但是現在詭異的是~~~"只有" 上沿觸發
抓取TIM5的記數值很接近65535那麼程式碼就會莫名其妙少算一組65535出來
我的程式碼思路是這個樣子的,我讓Tim5不斷的自己溢位中斷,用1MHZ的頻率去跑0~65535
那麼出來的中斷頻率應該是65535us 中斷一次,當我輸入的脈波是500000us,理論上會包住
7~8組的65535use,我再把頭尾的上沿和下沿對應到的TIM5抓出來的數值計算就可以得到
我的脈波寬度,
~~~希望有人可以幫忙一下,者到底是晶片的問題還是我軟體的問題!
因為按照正點原子那種用按鈕按壓那種不固定式的PA.0輸入方式~~是沒有辦法測出晶片是不是
有問題的!
|
|