一个串口摄像头连接到PB10和PB11,串口摄像头 发送指令(十六进制)56 00 26 00 返回指令76 00 26 00
其他的和原子串口实验一样,只是在usart里加入了usart3的代码,现在问题:
我发送了指令 56 00 26 00但是返回不了 76 00 26 00 调试中usart3->DR 根本没数据
我的发送指令代码:
void uart3_sendbuf(u8 const *buf, u32 n){
int i;
printf("USART3_RX_STA=%x\n",USART3_RX_STA);USART3_RX_STA一直是0
// if(USART3_RX_STA&0x80)
// {
for (i = 0; i < n; i++)
{
USART3->DR = buf; 这句应该没问题啊
while ((USART3->SR & 0x40) == 0); /* 等待数据发送完毕*/
USART3->SR 出现的是c0(16进制)
// printf("buf=%02x\n",buf);
// printf("\n\n"); delay_ms(100);
// printf("USART3->DR=%x\n",USART3->DR);
// delay_ms(100);
// }
// USART3_RX_STA=0;
}
}
还有程序是不是不能发送十六进制的指令 ?
单独用串口3和用串口助手调试摄像头都是没问题的,原子大哥 帮忙看看啊 快一星期了 脑子糊涂了
|