图中这句话,是不会生效的,因为UEP_T_RES_NAK == UEP_T_RES_NAK中==优先级最高,所以这句话等效于
if(R8_UEP2_CTRL & 1),取最低位运算,不满足意义
正确的写法应该是
if((R8_UEP2_CTRL & UEP_T_RES_NAK) == UEP_T_RES_NAK)
{
return FAILURE;
}
那问题来了,因为最后发送的都是NAK,所以导致永远无法发送第二次数据,官方的意思这句话是想表明什么意思呢?
热门产品 :
CH592: RISC-V内核BLE5.4无线MCU