你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

为什么stm8s的spi发送数据循环移位了2位?

[复制链接]
蓝色·冰川 提问时间:2017-5-18 16:32 /
stm8s003fp3,主模式,软件管理nss=1.msb先发,发送到74hc595。发送数据0101,0011,发现595显示的数据是0100,1101。移位寄存器移位了2位后,数据时钟才开始发出去了。void spi_init(){
  RCC_SPI_ON;//spi模块时钟开
  SPI_CPOL0;
  SPI_CPHA0;
  SPI_MSB;
  SPI_M;//主模式
  SPI_LINE_TWO;//双线全双工
  SPI_LINE_TXRX;
  SPI_DATACLK_DIV256;//数据时钟分频256
  SPI_NSS_ON;
  SPI_NSS1;
  SPI_TXE_IE;
//  IE_ON;
  SPI_ON;
}

使用查询标志法发数据。
收藏 1 评论2 发布时间:2017-5-18 16:32

举报

2个回答
qpx 回答时间:2017-5-18 18:01:20
蓝色·冰川 回答时间:2017-5-19 01:52:24
问题找到了,查询的标志错了,之前一直查询的txe标志,晚上看stm32说明书,txe并非发完置一,而是数据搬到移位寄存器就置一。改成查询BSY正常了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2 结贴奖励

查看全部评分

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版