芯片为PIC24FJ256GB210
UART #3 上的#UTXEN 位不会设置。
它使用完全相同的指令序列在 UART #1 上设置良好。UART #2 也是如此。
作品...
096E6 204000 mov.w #0x400,0x0000 111: Mov #Uart_1_Status_Control_Pattern, W0 ;Defined in CONSTANT.INC file
096E8 881110 mov.w 0x0000,0x0222 112: Mov W0, U1STA ;ibid, page 230 Reg 17-2
失败...
09748 204000 mov.w #0x400,0x0000 248: Mov.W #Uart_3_Status_Control_Pattern, W0 ;Defined in CONSTANT.INC file
0974A 881290 mov.w 0x0000,0x0252 249: Mov.W W0, U3STA ;ibid, page 230, Reg 17-2
所以我想,“啊,这是我想要的一个位,而在所有只读位之上移动的完整字会以某种方式导致问题。我将只设置一个位”。
不,仍然不会设置那个位。
失败...
09754 A84253 bset.b 0x0253,#2 256: Bset.W U3STA, #UTXEN ;DEBUG DEBUG DEBUG Date: 2013-02-18 Time: 11:37:07
- 更新 -
我可以在 MpLab 中设置该位。有什么不同 ?
我真的很困惑。这里还有什么可以防止该位被设置?