最近做毕业设计使用到TM7705,现将AVR SPI的驱动源码发出来共享,程序验证了没什么问题,值得提的是AVR SPI驱动的相位要设置,不然读取的数据有问题,本人使用的晶振是4.9152MHz的
头文件源码(AtmelStudio6.1编译无误):
- /*
- * TM7705.h
- * 伏尔加的鱼
- * Created: 2014/3/11 0:03:28
- * Author: 000
- */
- #ifndef TM7705_H_
- #define TM7705_H_
- #include <avr/io.h>
- #include <util/delay.h>
- #include "User_LED.h"
- #define DRDY 3 //从机就绪输入
- #define SS 4 //从机片选输出
- #define MOSI 5 //主机数据输出
- #define MOSO 6 //主机数据输入
- #define SCK 7 //主机时钟输出
- #define TM7705_Enable() (PORTB &=~_BV(SS))//使能TM7705
- #define TM7705_Disable() (PORTB |=_BV(SS))//失能TM7705
- #define Wait_TM7705() while(PINB&0X08)//监视转换
- #define CH1 0X00 //通道1
- #define CH2 0X01 //通道2
- void SPI_Port_Init( void );
- void SPI_Init( void );
- uint8_t TM7705_Write( uint8_t Data );
- void TM7705_Init( void );
- uint8_t TM7705_Read_Register_8bit( uint8_t Register_number );
- uint16_t TM7705_Read_16bit( uint8_t Channel );
- #endif /* TM7705_H_ */
c源码:
|