中级会员
- 积分
- 425
- 金钱
- 425
- 注册时间
- 2014-7-20
- 在线时间
- 144 小时
|
1金钱
本帖最后由 冬天的野狼 于 2016-6-24 19:14 编辑
RT,用原子哥程序改的,在STM32上显示完全没有问题,移植到STM8S上就不显示或乱码了,原因是什么呢啊?字库初始化正常,能够检测到有字库的存在。
/*===========================================================================
* 函数 :SPI_Initial() => 初始化SPI *
============================================================================*/
void SPI_Initial()
{
CLK_PeripheralClockConfig(CLK_PERIPHERAL_SPI, ENABLE);
SPI_DeInit();
// 配置SPI相关参数,2分频(8MHZ)
SPI_Init(SPI_FIRSTBIT_MSB, SPI_BAUDRATEPRESCALER_2,
SPI_MODE_MASTER, SPI_CLOCKPOLARITY_LOW,SPI_CLOCKPHASE_1EDGE,
SPI_DATADIRECTION_2LINES_FULLDUPLEX,SPI_NSS_SOFT,0X07);
SPI_Cmd(ENABLE);
}
这是STM8s SPI的配置函数
//读取SPI FLASH
//在指定地址开始读取指定长度的数据
//pBuffer:数据存储区
//ReadAddr:开始读取的地址(24bit)
//NumByteToRead:要读取的字节数(最大65535)
void SPI_Flash_Read(u8* pBuffer,u32 ReadAddr,u16 NumByteToRead)
{
u16 i;
FLASH_CS_Clr(); //使能器件
FLASH_SPI_ExchangeByte(W25X_ReadData); //发送读取命令
FLASH_SPI_ExchangeByte((u8)((ReadAddr)>>16)); //发送24bit地址
FLASH_SPI_ExchangeByte((u8)((ReadAddr)>>8));
FLASH_SPI_ExchangeByte((u8)ReadAddr);
for(i=0;i<NumByteToRead;i++)
{
pBuffer= FLASH_SPI_ExchangeByte(0XFF); //循环读数
}
FLASH_CS_Set(); //取消片选
}
|
|