初级会员

- 积分
- 95
- 金钱
- 95
- 注册时间
- 2014-4-18
- 在线时间
- 5 小时
|
5金钱
不知道有没有哪位兄台使用过TM1722这款芯片的,最近按照他的datasheet来操作写了个驱动,竟然一点反应都没有。
通讯使用SPI通讯,三根线:CLK=PB3,CS=PB6,MOSI=PB5.只需向TM芯片写数据,无需读取它的数据。
MCU使用探索者F4开发板,SPI 1.
初始化程序:
void TM1722_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;//片选
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;
GPIO_Init(GPIOB, &GPIO_InitStructure);
LCD_CS = 1;//LCD片选信号
SPI1_Init();
SPI1_SetSpeed(SPI_BaudRatePrescaler_2);
LCD_CS = 0;
SPI1_ReadWriteByte(0); //设置工作模式命令
LCD_CS = 1;
delay_ms(10);
LCD_CS = 0;
SPI1_ReadWriteByte(0X40);//设置写数据到显示寄存器命令
LCD_CS = 1;
delay_ms(10);
TM1722_Write_Word(0x02,0xff);
TM1722_Write_Word(0x03,0xff);
TM1722_Write_Word(0x06,0xff);
TM1722_Write_Word(0x07,0xff);
TM1722_Write_Word(0x0a,0x00);
TM1722_Write_Word(0x0b,0x00);
TM1722_Write_Word(0x0e,0x00);
TM1722_Write_Word(0x0f,0x00);
LCD_CS = 0;
SPI1_ReadWriteByte(0X97);
LCD_CS = 1;
}
//写一个数据函数
void TM1722_Write_Word(u8 addr,u8 dat)
{
LCD_CS = 0;
SPI1_ReadWriteByte(0XC0+addr);//写地址命令
SPI1_ReadWriteByte(dat);//写数据
LCD_CS = 1;
delay_ms(10);
}
现在就是,LCD屏没有任何反应!!!
还请各位来帮帮忙,看看! |
|