匿名
未登录
登录
丢石头百科
搜索
查看“STM8 SPI主模式”的源代码
来自丢石头百科
名字空间
页面
讨论
更多
更多
页面选项
查看
查看源代码
历史
←
STM8 SPI主模式
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
STM8 SPI主模式 在主配置时,串行时钟在SCK脚产生。 置配步骤 1.通过SPI_CR1寄存器的BR[2:0]位定义串行时钟波特率。 2.选择CPOL和CPHA位,定义数据传输和串行时钟间的相位关系(见图91)。 3.配置SPI_CR1寄存器的LSBFIRST位定义帧格式。 4.硬件模式下,在数据帧的全部传输过程中应把NSS脚连接到高电平;在软件模式下,需设置SPI_CR2寄存器的SSM和SSI位为'1'。 5.必须设置MSTR和SPE位(只当NSS脚被连到高电平,这些位才能保持为‘1’)。 在这个配置里,MOSI引脚是数据输出,MISO引脚是数据输入。 数据传输过程 当一字节写进发送缓冲器时,发送过程开始。 在STM8发送第一个数据位时,数据字被并行地(通过内部总线)传入移位寄存器,而后串行地移出到MOSI脚上;MSB在先还是LSB在先,取决于SPI_CR1寄存器中的LSBFIRST位。数据从发送缓冲器传输到移位寄存器时TXE标志将被置位,如果设置SPI_CR1寄存器中的TXEIE位,将产生中断。 当数据传输完成时:<li>移位寄存器中的数据传送到接收缓冲器,并且RXNE标志被置位。 </li>* 如果SPI_ICR寄存器中的RXIE位被设置,则产生中断。 在最后一个采样时钟沿,RXNE位被设置,在移位寄存器中接收到的数据字被传送到接收缓冲器。读取SPI_DR寄存器得到这个缓冲值。读SPI_DR寄存器将清除RXNE位。 一旦传输开始,如果下一个将发送的数据被放进了发送缓冲器,就可以维持一个连续的传输流。注意在试图写发送缓冲器之前,需确认TXE标志应该是1。<blockquote style="color: rgb(72, 61, 139); font-family: Arial, 新宋体, 微软雅黑; font-size: 12px; line-height: 20px;"> [[File:STM8_P233_1.jpg]] (图91:数据时钟时序图 )</blockquote>
返回至
STM8 SPI主模式
。
导航
导航
首页
最近更改
随机页面
MediaWiki帮助
首页
首页
树莓派
主机
配件包
外壳
键鼠
电源
扩展板
显示屏
墨水屏
摄像模块
通信模块
继电器
电机驱动板
游戏机
产品分类
树莓派
Arduino
micro:bit
STM32
Espressif
WiFi模块
蓝牙模块
无线模块
LoRa模块
4G模块
GSM
GPRS
以太网
导航模块
北斗卫星
GPS
LCD
墨水屏
OLED
摄像头
USB模块
串口模块
RS232
RS485
CAN
传感器
温度模块
湿度模块
气压模块
继电器
电机模块
指纹模块
电平转换
音频模块
编程器
Wiki工具
Wiki工具
特殊页面
页面工具
页面工具
用户页面工具
更多
链入页面
相关更改
页面信息
页面日志