|
ADS7816是一款12bit,SPI通讯的A/D转换芯片。我用它做一个简单的实验,但是通过SPI传回来的数据总是不变,请各位看看是什么问题?
#include <mega16.h>
#include <stdint.h>
#include <delay.h>
unsigned short int SPI_SlaveReceive(void)
{
/* 等待接收结束 */
while((SPSR|0x7f) == 0xff);
;
/* 返回数据 */
return SPDR;
}
void main(void)
{
// Declare your local variables here
unsigned char adc_value;
PORTA=0x00;
DDRA=0xFF;
PORTB=0x00;
DDRB=0xB0; //SCK,CS输出;MISO输入
SPCR=0x58; //SPI主机模式,提供时钟
while (1)
{
// Place your code here
adc_value=SPI_SlaveReceive(); //读取AD测量值,读8位
PORTA=adc_value; //8led 显示
};
}
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
阿莫论坛20周年了!感谢大家的支持与爱护!!
知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)
|