[技术问答] spi question

[复制链接]
178|11
 楼主 | 2017-7-14 09:44 | 显示全部楼层 |阅读模式
我在改写spi的程序的时候总是发生hard fault,我调试的时候发现,停在write处,这是为何,它怎么不去write?

     while(1)
                {
                                /* Write to TX register */
                                SPI_WRITE_TX(SPI0, g_au32SourceData[u32DataCount]);
                                /* Check SPI0 busy status */
                                while(SPI_IS_BUSY(SPI0));
                                /* Read received data */
                                SPI_READ_RX(SPI0);
                                u32DataCount++;
                                if(u32DataCount == TEST_COUNT)
                                                break;
                }       

| 2017-7-14 19:30 | 显示全部楼层
没说是哪个单片机的啊,新唐官方都给例程序的。
| 2017-7-14 19:30 | 显示全部楼层
没说是哪个单片机的啊,新唐官方都给例程序的。
| 2017-7-15 22:08 | 显示全部楼层
没看出来哪个单片机的。
| 2017-7-17 21:41 | 显示全部楼层
我用库函数搞不懂的时候就直接IO模拟,可以试试我的方法。
| 2017-7-17 22:32 | 显示全部楼层
总是用IO做SPI的路过。
 楼主 | 2017-7-18 18:06 | 显示全部楼层
yiyigirl2014 发表于 2017-7-14 19:30
没说是哪个单片机的啊,新唐官方都给例程序的。

我知道有示例程序
 楼主 | 2017-7-18 18:07 | 显示全部楼层
heisexingqisi 发表于 2017-7-17 21:41
我用库函数搞不懂的时候就直接IO模拟,可以试试我的方法。

你有写好的借我参考一下吗
 楼主 | 2017-7-18 18:07 | 显示全部楼层
天灵灵地灵灵 发表于 2017-7-17 22:32
总是用IO做SPI的路过。

你有写好的借我参考一下吗
| 2017-7-19 09:19 | 显示全部楼层
寫超過記憶體的範圍了。
while(1)
{
SPI_WRITE_TX(SPI0, g_au32SourceData[u32DataCount]);
...
u32DataCount++;
}
 楼主 | 2017-7-19 10:54 | 显示全部楼层
a_ziliu 发表于 2017-7-19 09:19
寫超過記憶體的範圍了。
while(1)
{

什么意思?超过了数组的大小?
| 2017-7-19 20:10 | 显示全部楼层
超过最大地址了?
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册 手机登录
高级模式

论坛热帖

分享 快速回复 返回顶部 返回列表