打印
[技术问答]

N76E003SPI问题求解答

[复制链接]
928|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
由于项目成本要求降低,就选用了N76E003这颗芯片,但是由于对芯片不熟,有些问题要请教大家,就是用spi去读写带spi的芯片数据时,怎么配置读写函数?

使用特权

评论回复
沙发
Peter6699|  楼主 | 2019-5-13 17:50 | 只看该作者
void SPI_Configuration(void)
{       
        P15_Quasi_Mode;                                                                                                                // P15 (SS) Quasi mode
        P10_Quasi_Mode;                                                                                                                // P10(SPCLK) Quasi mode
        P00_Quasi_Mode;                                                                                                                // P00 (MOSI) Quasi mode
        P01_Quasi_Mode;                                                                                                                // P22 (MISO) Quasi mode
       
        set_DISMODF;                              // SPI 禁止模式错误检测
        clr_SSOE;                                 // 从机选择输出使能位0 = ss作为普通 I/O.

        clr_LSBFE;                                // MSB first   0 = SPI优先传输最高位MSB数据      

        clr_CPOL;                                 // The SPI clock is low in idle mode
        set_CPHA;                                 // The data is sample on the second edge of SPI clock

        set_MSTR;                                 // SPI in Master mode
        SPICLK_DIV16;                                          // Select SPI clock
        set_SPIEN;                                // Enable SPI function
        clr_SPIF;
}
/*******************************************************************************
** Function name:   SPI_SendByte   
**
** Descriptions :   SPI发送一个字节
**  
*******************************************************************************/
void SPI_SendByte(UINT8 ch)
{
        //SPSR –SPI 状态寄存器
        while((SPSR & SET_BIT2) != 0);//有数据待发送或是读取
        //SPDR – SPI数据寄存器
        SPDR = ch;
        Timer0_Delay10us(1);
        while(!(SPSR & SET_BIT7));
        clr_SPIF;
}
/*******************************************************************************
** Function name:   SPI_ReadByte   
**
** Descriptions :   SPI读取一个字节
**  
*******************************************************************************/
uint8_t SPI_WrRdByte(uint8_t byte)
{
        while((SPSR & SET_BIT2) != 0);
        SPDR = byte;
        while(!(SPSR & SET_BIT7));
        clr_SPIF;
        byte = SPDR;
        return byte;
}现在的配置是这样子

使用特权

评论回复
板凳
小灵通2018| | 2019-5-13 22:07 | 只看该作者
然后呢?

使用特权

评论回复
地板
小灵通2018| | 2019-5-13 22:08 | 只看该作者
官方提供的有2个例子

使用特权

评论回复
5
小灵通2018| | 2019-5-13 22:11 | 只看该作者
官方提供的有2个例子

使用特权

评论回复
6
小灵通2018| | 2019-5-13 22:12 | 只看该作者

使用特权

评论回复
7
szjlj168| | 2019-5-14 09:32 | 只看该作者
有需要新唐烧录器,了解一下。

使用特权

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

本版积分规则

9

主题

40

帖子

1

粉丝