如题将CH559官方USBH_KM.c与SPI0slv.c合并在一起,采用中断方式通过SPI0发送键盘数据,当响应中断后,主程序卡住了,求解!感谢!
热门产品 :
CH32V317: 互联型青稞RISC-V MCU
如题将CH559官方USBH_KM.c与SPI0slv.c合并在一起,采用中断方式通过SPI0发送键盘数据,当响应中断后,主程序卡住了,求解!感谢!
程序功能是USB接收数据然后通过SPI发送数据吗?可以在SPI中断中最前和最后加上打印,看一下中断程序是否有运行到最后,SPI的单字节收发函数中会有while死等的代码,要注意是否有在中断中调用了相关的函数。
SPI主机发的是单字节指令,从测试结果看应该是SO_Free没有变1,对这个标志位不是很理解,还请帮忙解释下。
可以对SPI线上的波形抓包贴出来看看,看一下在从收到发的过程中,SCS线是否一直保持为低电平状态,SCS和SCK之间的关系。
因为单片机的SPI没有dma,同时将主频提上去加快中断处理。