|
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周年了!感谢大家的支持与爱护!!
一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
|