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

2019-08-16 19:25发布

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

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

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

还望各位大神指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
ljlxh007
1楼-- · 2019-08-18 12:47
 精彩回答 2  元偷偷看……
Acuity
2楼-- · 2019-08-18 14:31
这就是spi 啊,用过很多ADI的器件,ADI最喜欢用非标准spi,估计为了避开专利问题?会看时序图,用标准spi驱动即可。
ljlxh007
3楼-- · 2019-08-18 15:06
Acuity 发表于 2017-7-27 16:17
这就是spi 啊,用过很多ADI的器件,ADI最喜欢用非标准spi,估计为了避开专利问题?会看时序图,用标准spi驱 ...

可我用上spi,就是不通啊,是不是我的速率太低?
示波器显示32那几个管脚输出波形没问题,就是芯片不工作,比如说我这个芯片正常工作电流是0.08A,我接上就是0.05A,就是不通,再接上频谱分析仪,显示的依然不通。。。(都是粗测)
是不是我的速率太低(一百多khz,芯片极限是几十ns),还是什么问题呢
对了,芯片那个ltch端,我常接地了,是不是这个原因呢?
Acuity
4楼-- · 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); //只发送。
ljlxh007
5楼-- · 2019-08-18 23:00
Acuity 发表于 2017-7-27 16:27
授人以渔与:
spi主机封装起来就4个情况,通杀所有标准的、非标准的spi,而且方便移植:
int spi_send_th ...

那个,你是不是误会我的意思了,我的spi输出没有问题,就是芯片不通。。。
spi的问题我也问过了,也是您回答的,已经解决了,而且波形无比正确,就是芯片无法正常工作。。。
Acuity
6楼-- · 2019-08-19 03:32
 精彩回答 2  元偷偷看……

一周热门 更多>