陈家乐 发表于 2025-2-11 12:17:18

【蓝桥杯单片机】如何对DS1302的RAM进行突发模式的读写

蓝桥杯板子上集成了一路DS1302,如何对里面的RAM进行RAM突发模式(RAM_BURST)读写

Ayb_ice 发表于 2025-2-11 13:24:25

void DS1302_BurstRead(bit bReg, u8*pBuf, u8 ucNum)
{
        u08 i;
        u08 ucCmd = DS1302_CMD_MASK+DS1302_READ+DS1302_BURST_MASK;
        if (bReg)
        {
                ucCmd |= DS1302_REG_SEL;
                if (ucNum > DS1302_MAX_REG_NUM)
                {
                        ucNum = DS1302_MAX_REG_NUM;
                }
        }
        else
        {
                ucCmd |= DS1302_RAM_SEL;
                if (ucNum > DS1302_MAX_RAM_NUM)
                {
                        ucNum = DS1302_MAX_RAM_NUM;
                }
        }
        if (!ucNum)
        {
                ucNum++;
        }

        GPIO_DS1302_CS = 1;
        DS1302_Delay();
        DS1302_TxByte(ucCmd);
        for (i=0; i<ucNum; i++)
        {
                pBuf = DS1302_RxByte();
                pBuf++;
        }

        GPIO_DS1302_CS = 0;
        DS1302_Delay();
        GPIO_DS1302_DATA = 1;
        GPIO_DS1302_CLK = 0;
}

陈家乐 发表于 2025-2-11 15:49:54

Ayb_ice 发表于 2025-2-11 11:24
void DS1302_BurstRead(bit bReg, u8*pBuf, u8 ucNum)
{
        u08 i;


厉害
页: [1]
查看完整版本: 【蓝桥杯单片机】如何对DS1302的RAM进行突发模式的读写