您好!我选stm8s在iar中编程,
第十二个字节返回值一直是0x00,即usb未连接计算器或未识别。第十一个字节返回值一直是0x00,即三个指示灯全是熄灭。
usb已经正常连接,win10设置里的‘鼠标,键盘和笔’一栏中,可以看到‘wch uart to kb-ms-v1,1 ’此设备,
也可以正常键盘输入,除了三个指示灯一切正常(笔记本按下caps lock,我自己制作的键盘不能亮起相应的指示灯)。
串口通信模式选择了模式0;芯片工作模式0和1都试过,都不能实现指示灯功能
请问这是什么缘故。
u8 num=0;//定义全局变量
u8 buff[13];
main()
{
...........
//uart发送cmd-get-info指令
Uart1_SendData(0x57);
Uart1_SendData(0xAB);
Uart1_SendData(0x00);
Uart1_SendData(0x01);
Uart1_SendData(0x00);
Uart1_SendData(0x03);
}
/* 串口1接收数据中断服务函数 */
#pragma vector = 20 //设置串口1接收中断向量号 = 20
__interrupt void UART1_RX_RXNE(void)
{
UART1_SR_RXNE = 1; //清除中断标志
buff[num] = UART1_DR; //读出串口接收到的数据
num=num+1;
if(num==14)
num=0;
//CAPS LOCK =1;SCROLL LOCK=0
if((buff[13]==0xBE)&&(buff[12]==0x31)&&(buff[11]==0x01)&&(buff[10]==0x02)
&&(buff[9]==0x00)&&(buff[8]==0x00)&&(buff[7]==0x00)&&(buff[6]==0x00)&&(buff[5]==0x00)
&&(buff[4]==0x08)&&(buff[3]==0x81)&&(buff[2]==0x00)&&(buff[1]==0xAB)&&(buff[0]==0x57))
{
PD_ODR_bit.ODR1=1;
PD_ODR_bit.ODR4=0;
}
}
您好!我选stm8s在iar中编程,
第十二个字节返回值一直是0x00,即usb未连接计算器或未识别。第十一个字节返回值一直是0x00,即三个指示灯全是熄灭。
usb已经正常连接,win10设置里的‘鼠标,键盘和笔’一栏中,可以看到‘wch uart to kb-ms-v1,1 ’此设备,
也可以正常键盘输入,除了三个指示灯一切正常(笔记本按下caps lock,我自己制作的键盘不能亮起相应的指示灯)。
串口通信模式选择了模式0;芯片工作模式0和1都试过,都不能实现指示灯功能
请问这是什么缘故。
u8 num=0;//定义全局变量
u8 buff[13];
main()
{
...........
//uart发送cmd-get-info指令
Uart1_SendData(0x57);
Uart1_SendData(0xAB);
Uart1_SendData(0x00);
Uart1_SendData(0x01);
Uart1_SendData(0x00);
Uart1_SendData(0x03);
}
/* 串口1接收数据中断服务函数 */
#pragma vector = 20 //设置串口1接收中断向量号 = 20
__interrupt void UART1_RX_RXNE(void)
{
UART1_SR_RXNE = 1; //清除中断标志
buff[num] = UART1_DR; //读出串口接收到的数据
num=num+1;
if(num==14)
num=0;
//CAPS LOCK =1;SCROLL LOCK=0
if((buff[13]==0xBE)&&(buff[12]==0x31)&&(buff[11]==0x01)&&(buff[10]==0x02)
&&(buff[9]==0x00)&&(buff[8]==0x00)&&(buff[7]==0x00)&&(buff[6]==0x00)&&(buff[5]==0x00)
&&(buff[4]==0x08)&&(buff[3]==0x81)&&(buff[2]==0x00)&&(buff[1]==0xAB)&&(buff[0]==0x57))
{
PD_ODR_bit.ODR1=1;
PD_ODR_bit.ODR4=0;
}
}
举报