📄 max542_16dac_driver.c
字号:
#include "SPCE061V004.H"
#define din 0x0080
#define sclk 0x0040
#define ldac 0x0020
#define cs 0x0010
int main()
{
initial_iob();
DAC(0x7fff);
while(1)
*P_Watchdog_Clear=1;
}
int initial_iob()
{
*P_IOB_Dir=0x00f0;
*P_IOB_Attrib=0x00f0;
*P_IOB_Data=0x0000;
}
int DAC(unsigned int data)
{
unsigned int i=0;
*P_IOB_Data&=(~cs);//cs拉低
*P_IOB_Data|=ldac;//ldac拉高
for(i=0;i<16;i++)//写16位串行数据
{
*P_IOB_Data&=(~sclk);//clk拉低
if(data&0x8000) *P_IOB_Data|=din;
else *P_IOB_Data&=(~din);
data=data<<1;
*P_IOB_Data|=sclk; //clk拉高
}
*P_IOB_Data|=cs;//cs拉高
*P_IOB_Data&=(~ldac);//ldac拉低
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -