初级会员
- 积分
- 85
- 金钱
- 85
- 注册时间
- 2019-10-7
- 在线时间
- 17 小时
|
调用字库,放上引脚初始化
SPI方式
//字库引脚初始化
void Zk_GPIO_Init()
{
GPIO_ExternalPullUpConfig(GPIOB, SCK|MOSI|MISO, ENABLE);
// GPIO_Init(GPIOB, CS|SCK|MOSI, GPIO_Mode_Out_PP_High_Fast);
// GPIO_Init(GPIOB, MISO, GPIO_Mode_In_FL_No_IT);
GPIO_Init(GPIOB, CS, GPIO_Mode_Out_PP_High_Fast);
CS_Set; //拉高
}
//字库初始化
void Zk_Init()
{
CLK_PeripheralClockConfig(CLK_Peripheral_SPI1, ENABLE);
Zk_GPIO_Init();
// SPI_DeInit(SPI1);
SPI_Init(SPI1,
SPI_FirstBit_MSB,
SPI_BaudRatePrescaler_2,
SPI_Mode_Master,
SPI_CPOL_High,
SPI_CPHA_2Edge,
SPI_Direction_2Lines_FullDuplex,
SPI_NSS_Soft,
0x00);
SPI_Cmd(SPI1, ENABLE);
}
SI和SO是相对与芯片,SI对于单片机就是输出,同理SO输入,也没有用上拉电阻
模拟spi方式
//void Zk_GPIO_Init()
//{
// GPIO_Init(GPIOB, CS|SCK|SI, GPIO_Mode_Out_PP_High_Fast);
// GPIO_Init(GPIOB, SO, GPIO_Mode_In_PU_No_IT);
//
// CS_Set;
// SCK_Set;
//}
//向字库传送命令
//void Zk_Write(u8 data)
//{
// u8 i;
//
// for(i=0; i<8; i++)
// {
// if(data & 0x80)
// SI_Set;
// else
// SI_Reset;
// data <<= 1;
// SCK_Reset;
//// Delay_nus(2);
// SCK_Set;
//// Delay_nus(2);
// }
//}
//读取字库
//u8 Zk_Read()
//{
// u8 i;
// u8 Byte = 0;
//// SCK_Set;
//
// for(i=0; i<8; i++)
// {
// SCK_Reset;
//// Delay_nus(2);
// Byte <<= 1;
// if(GPIO_ReadInputDataBit(GPIOB, SO))
// Byte |= 0x01;
// else
// Byte &= 0xfe;
// SCK_Set;
//// Delay_nus(2);
// }
// return Byte;
//}
|
|