|
求证ATmega16与TLC5618的D/A数模转换哪里不对
[复制链接]
#include
#include
#define uint unsigned int
#define uchar unsigned char
#define SPIF 7
#define ss 4 //PB4
#define mosi 5 //PB5
#define sck 7 //PB7
void spi_init() //初始化
{
DDRB=0xFF; //端口设置?不懂为啥这样设
PORTB=0x00; //这是PB全为高电位输出:即SCK,MOSI为高电位初始化
SPSR=0x00; //状态寄存器全0,这是为啥
SPCR=0x50; //主机模式 方式1 ocs/16 SPI控制寄存器设置01010101,一般情况需要改动吗?
}
void DAC_TLV5618(uint temp)
{
PORTB&=~(1<
SPDR=(uchar)( temp&&0xff00)>>8;
while(!SPSR&(1<
SPSR=(uchar)( temp&&0x00ff);
while(!SPSR&(1<
//PORTB|= (1<
}
void main()
{
//delay_ms(500);
spi_init();
DAC_TLV5618(0x4800);
while(1);
}
|
|