TI论坛
直播中

母猪会上树

11年用户 908经验值
擅长:电源/新能源
私信 关注
[问答]

DAC7744E调试不通是什么原因造成的?


    根据官方提供的时序图写的程序如下
    void DAC7744_Write_A(uint16_t Byte)
    {
    uint16_t RbyteL,RbyteH;
    uint16_t ByteL,ByteH;
    uint16_t WbyteL,WbyteH;
    // RestH;
    CSH;
    RWH;
    LOADH;
    delay_1us(100); //将近11us
    RWL;
    delay_1us(100); //将近11us
    A1L;
    delay_1us(100); //将近11us
    A2L;
    LOADL;
    delay_1us(100); //将近11us
    RbyteL = GPIO_ReadOutputData(GPIOA);
    ByteL = RbyteL & 0xE000;
    WbyteL = Byte & 0x1FFF;
    GPIO_Write(GPIOA,ByteL | WbyteL);
    delay_1us(100); //将近11us
    RbyteH = GPIO_ReadOutputData(GPIOB);
    ByteH = RbyteH & 0x1FFF;
    WbyteH = Byte & 0xE000;
    GPIO_Write(GPIOB,ByteH | WbyteH);
    delay_1us(100);
    CSL;
    delay_1us(100);
    CSH;
    delay_1us(100);
    RWH;
    delay_1us(100);
    LOADH;
    delay_1us(100);
    LOADL;
    delay_1us(100);
    // CSL;
    // delay_1us(100);
    }
    但是DAC7744 一点反应都没,应该是A通道有10V的输出的
    int main(void)
    {
    RCC_Configuration();
    GPIO_Configuration();
    Rest_DAC7744();
    while (1)
    {
    DAC7744_Write_A(0xFFFF);

    }
    }
    这样写有什么问题吗?

回帖(1)

李芳

2025-2-7 17:39:49
根据您提供的代码和描述,DAC7744E调试不通可能有以下几个原因:

1. 硬件连接问题:请检查DAC7744E与微控制器之间的连接是否正确,包括数据线、控制线和电源线。确保所有连接都牢固且无短路或断路。

2. 时序问题:虽然您提到是根据官方提供的时序图编写的程序,但仍然有可能存在时序不准确的问题。请仔细检查代码中的延时函数(如delay_1us)是否能够提供准确的延时。如果延时不准确,可能会导致DAC7744E无法正确接收数据。

3. 代码逻辑问题:请检查代码中的逻辑是否正确。例如,您提到了`RbyteL`和`RbyteH`变量,但在代码中并没有看到它们的初始化和赋值。请确保这些变量在使用前已经被正确赋值。

4. 微控制器配置问题:请检查微控制器的配置是否正确,包括GPIO引脚的配置、时钟配置等。确保微控制器能够正确地与DAC7744E通信。

5. DAC7744E芯片问题:如果以上问题都排除了,那么可能是DAC7744E芯片本身存在问题。您可以尝试更换一个DAC7744E芯片进行测试。

建议您按照以下步骤进行排查:

1. 检查硬件连接,确保所有连接都正确且无短路或断路。
2. 检查代码中的时序和逻辑,确保延时函数能够提供准确的延时,并且变量在使用前已经被正确赋值。
3. 检查微控制器的配置,确保GPIO引脚和时钟配置正确。
4. 如果以上步骤都无法解决问题,尝试更换DAC7744E芯片进行测试。

希望这些建议能帮助您解决问题。如果还有其他问题,请随时提问。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分