【STM32F103】求一个按照如下时序图写的程序

2019-08-16 19:25发布

需要达成一个目的,即按照如图所示写一个程序,来发送数据

具体如下:一个io口串行发送数据,一个io口发送时钟,一个io口发送ltch
key0按下,io口发送数据0x9e,并且ltch拉低,key1按下,在刚才所发送数据上加0x0a。

我是实在没办法了,写不出来,头发掉了一堆。。。还望各位大神能给予一定帮助。
若各位大神实在没空,告诉我怎么写也行尽量详细一点,我现在只能发送一个时钟,如何根据时钟发送数据,完全不会
也就是说,如何用io口串行发送一串数据,在这基础上如何根据时钟按照时序图那样发送数据?

还望各位大神指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
20条回答
Acuity
2019-08-18 21:03
授人以渔与:
spi主机封装起来就4个情况,通杀所有标准的、非标准的spi,而且方便移植:
int spi_send_then_recv(const void *send_buff,unsigned short send_size,void *recv_buff,unsigned short recv_size);   //发送完再接收,最常用的,常见于读寄存器。
int spi_send_then_send(const void *send_buff1,unsigned short send_size1,const void *send_buff2,unsigned short send_size2);//发送完再发送,最常用的,常见于写寄存器。
int spi_send_recv(const void *send_buff,void *recv_buff,unsigned short data_size);//非标准spi,2个情况:1、发送完同时接收完,看时序图(如:一些控制芯片,同时返回控制状态);2、只接收,此时发送动作并非真的发送,只是用来产生spi时钟(如ADC芯片,12位、14位、16位常见)。
int spi_send(const void *send_buff,unsigned short send_size); //只发送。

一周热门 更多>