您尚未登录。

楼主 #1 2020-10-22 19:22:56

sjshe3326
会员
注册时间: 2020-10-19
已发帖子: 125
积分: 69.5

F1C100S spi1寄存器设置问题-求助

裸跑F1C100S 使用SPI1时候发现,设置spi1寄存器,再读取发现一直时0,没有设置进去。有朋友遇到过没。
SPI1时钟已经开启:
    // SPI1 打开时钟 //
    write32( 0x01C20060, (read32(0x01C20060) | (1<<21)) );

SPI1寄存器基地址也没错0x01c06000,读取SPI0的寄存器就可以返回数据。

离线

楼主 #3 2020-10-23 09:21:36

sjshe3326
会员
注册时间: 2020-10-19
已发帖子: 125
积分: 69.5

Re: F1C100S spi1寄存器设置问题-求助

vip888888 说:
sjshe3326 说:

裸跑F1C100S 使用SPI1时候发现,设置spi1寄存器,再读取发现一直时0,没有设置进去。有朋友遇到过没。
SPI1时钟已经开启:
    // SPI1 打开时钟 //
    write32( 0x01C20060, (read32(0x01C20060) | (1<<21)) );

SPI1寄存器基地址也没错0x01c06000,读取SPI0的寄存器就可以返回数据。

使能时钟后一般要使能时钟复位。200s手册上可以查到 spi1_rst是偏移0x02c0地址寄存器的第21位。
所以你可以在后面加上一句write32( 0x01C20000+0x2c0, (read32(0x01C20000+0x2c0) | (1<<21)) );
然后在延时个1ms。然后再操作寄存器看。

非常感谢,的确加上bus rst就正常了。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn