目标: 采用dsPIC33EV64GM004的串口实现休眠下的半双工通信。
问题:
1.在串口发送数据时,无法单独禁止串口接收。只能通过失能串口接收中断实现,而再次允许接收中断后,又需要UARTEN复位模块。
2.休眠下,通过串口接收中断唤醒,时灵时不灵。
按照手册,休眠前需置位U1MODEbits.WAKE,从而实现休眠后的串口接收唤醒。但实际:①初始化时,未置位U1MODEbits.WAKE,将无法唤醒;②初始化时置位U1MODEbits.WAKE,休眠前未置位,有时可唤醒,有时不行;③初始化时,置位U1MODEbits.WAKE,休眠前置位U1MODEbits.WAKE,无法唤醒。
该单片机的串口接收中断,时灵时不灵,感觉好不稳定(真不靠谱),求解? |