打印
[PIC®/AVR®/dsPIC®产品]

PIC24F和spi flash通信

[复制链接]
746|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jiaxw|  楼主 | 2022-12-4 12:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有没有人做过PIC和w25q64的通信,我SCK和SDI波形正确,但是没有波形输出

使用特权

评论回复
沙发
renyaq| | 2022-12-4 12:46 | 只看该作者
好好查查slave对命令信号的格式要求和时序要求

使用特权

评论回复
板凳
heweibig| | 2022-12-4 12:48 | 只看该作者
你看看IO口的初始化嘛...如果是模拟复用口, 要初始化成数字口的哈.

使用特权

评论回复
地板
tian111| | 2022-12-4 12:50 | 只看该作者
已经确认过IO是数字口,而且时序也满足slave的要求了,slave就是没有输出

使用特权

评论回复
5
zhanghqi| | 2022-12-4 12:51 | 只看该作者
只能直接下载或是先用MPC82G516搭配OCD_ICE仿真

使用特权

评论回复
6
jiaxw|  楼主 | 2022-12-4 12:54 | 只看该作者
int main(void)
{
    // initialize the device
    uint8_t temp0,temp1,temp2=0;
    SYSTEM_Initialize();
    _TRISF0 = 0;
    _LATF0 = 1;

   
    while (1)
    {
        SPI1_Exchange8bit(0x9F);
        temp0 = SPI1_Exchange8bit(0xFF);
        temp1 = SPI1_Exchange8bit(0xFF);
        temp2 = SPI1_Exchange8bit(0xFF);

        printf("%x, %x, %x,",temp0,temp1,temp2);
        DELAY_milliseconds(2000);
    }

    return 1;
}

使用特权

评论回复
7
jiaxw|  楼主 | 2022-12-4 12:57 | 只看该作者
void SPI1_Initialize (void)
{
    // MSTEN Master; DISSDO disabled; PPRE 4:1; SPRE 4:1; MODE16 disabled; SMP Middle; DISSCK disabled; CKP Idle:Low, Active:High; CKE Active to Idle; SSEN disabled;
    SPI1CON1 = 0x132;
    // SPIFSD disabled; SPIBEN enabled; SPIFPOL disabled; SPIFE disabled; FRMEN disabled;
    SPI1CON2 = 0x01;
    // SPITBF disabled; SISEL SPI_INT_SPIRBF; SPIRBF disabled; SPIROV disabled; SPIEN enabled; SRXMPT disabled; SPISIDL disabled;
    SPI1STAT = 0x800C;
}
void SPI1_Exchange( uint8_t *pTransmitData, uint8_t *pReceiveData )
{

    while( SPI1STATbits.SPITBF == true )
    {

    }

    SPI1BUF = *((uint8_t*)pTransmitData);

    while ( SPI1STATbits.SRXMPT == true);

    *((uint8_t*)pReceiveData) = SPI1BUF;
   
}
uint8_t SPI1_Exchange8bit( uint8_t data )
{
    uint8_t receiveData;
   
    SPI1_Exchange(&data, &receiveData);

    return (receiveData);
}

使用特权

评论回复
8
llljh| | 2022-12-4 13:00 | 只看该作者
那就是操作时序和命令不对

使用特权

评论回复
9
tpgf| | 2023-1-3 16:04 | 只看该作者
楼主使用的几线制的spi通讯方式啊

使用特权

评论回复
10
qcliu| | 2023-1-3 16:11 | 只看该作者
模拟口和数字口的区别是什么  他们的用途分别是什么呢

使用特权

评论回复
11
drer| | 2023-1-3 16:18 | 只看该作者
硬件连接上加没有加外部的上拉电阻呀

使用特权

评论回复
12
coshi| | 2023-1-3 16:25 | 只看该作者
tian111 发表于 2022-12-4 12:50
已经确认过IO是数字口,而且时序也满足slave的要求了,slave就是没有输出

都么有波形输出 楼主如何确定时序满足要求呢

使用特权

评论回复
13
kxsi| | 2023-1-3 16:46 | 只看该作者
如果只是一一对应连接的话 就用普通的三线连接就行

使用特权

评论回复
14
wiba| | 2023-1-3 16:53 | 只看该作者
虽然时序是没有问题的 但是是不是需要双方的配合啊

使用特权

评论回复
15
caigang13| | 2023-1-3 20:43 | 只看该作者
SDO都没有输出,是怎么测出来SDI信号的?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

825

主题

9762

帖子

4

粉丝