![]() |
CCR1是包括了CCR1H,CCR1L這兩寄存器,這是C語言上的,你沒有看到它定義的是int型的嗎?已經把這兩個聲明為16位的地址了 賦值0x0E72,編譯器會自動的把0x0E, 0x72送到CCR1H,CCR1L這兩寄存器的 樓上已經有人告訴你了,你代碼都寫錯了 操作CCR1H,CCR1L這兩寄存器也是一樣的可以,只是你沒有做對而已 |
艾爾之光tt 發表于 2021-9-23 12:25 3698 = 0x0E72; 你寫的是: 0x0E, 0x77 你確定是 不能動作,不是因為數值不對,達不到 你要的效果? 你DEBUG 的話 應該能看到, 不管是 PWMA_CCR1 = 3698 還是 分開寫, 產生的編譯后的代碼都是一樣的。 所以,你說得情況,應該是不存在的。 |
yzwzfyz 發表于 2021-9-23 08:41 CHAR是什么? |
這是由編譯器說了算的。 [你的藍底色下] 告訴編譯器,CCR1H是CHAR,你如果按照CHAR法則去用它,看看行不行。 |