Question:1、 有没有例程如何操作寄存器完成I2C发送(接收)地址、数据。 2、 有没有例程如何操作寄存器来校准时钟。 3、 据了解在稍微复杂一点的项目尽量不要使用延迟,那么请问有没有定时器cha定时查询状态判断按键按下的例程
笔记: 一、 char const *x 定义一个指向字符常量的指针x 。 二、 if(a) b;c; //b语句在if语句里,c不在。 三、 SPI通讯 : 占用3+(n)引脚(1个可不用(接地),2个以上占n个脚): ⒈ MISO:主设备输入,从设备输出 ⒉ MISI:主设备输出,从设备输入 ⒊ SCK:时钟(主产生) ⒋ NSS:片选,从机被主机拉低电平后传输(从模式可用软件节省引脚,一般不用需要用时再了解) 发送模式:例如主移位寄存器是01,从是02,发送完后将互换,如果主机不需要从机数据忽略即可。 CPHA位可选4种模式,具体看56讲 主模式配置步骤: 1. 通过SPI_CR1寄存器的BR[2:0]位定义串行时钟波特率。 2. 选择CPOL和CPHA 位,定义数据传输和串行时钟间的相位关系。 3. 配置SPI_CR1寄存器的LSBFIRST位定义帧格式。 4. 硬件模式下,在数据帧的全部传输过程中应把NSS脚连接到高电平;在软件 模式下,需设置SPI_CR2寄存器的SSM和SSI位为‘1’。 5. 必须设置MSTR(SPI主模式)和SPE位(SPI使能位)(只当NSS脚被连到高电平, 这些位才能保持为‘1’)。在这个配置中,MOSI脚是数据输出,而MISO脚是 数据输入。
|