×

常用的lcd断码屏驱动芯片:HT1621 三线spi串口驱动...

利用stm8l152自带的lcd驱动,驱动一个14SEG,4个Com的段码屏这次需要驱动的段码屏是联想体重秤的段码屏,由于这样的屏大多是定制的,所以需要自己在能够驱动在屏幕上显示一个任何的东西,即表示能够被驱动起来(不知道它对应的引脚是不是正确的(和自己想的))段码屏可以显示汉字...

期待你的精彩评论 加入710人围观

错误调试

wk2124子串口接收, 数据被覆盖

zxjy辉 zxjy辉 发表于2024-05-15 浏览1691 评论0

大意了!


读取wk2124 FIFO缓冲区

/*===================================================================================
功能:读取wk2124子串口的FIFO的数据
*port: 1~12,表示串口的标号(该串口标号由1个wk2124芯片片选将1个spi接口转换为12个串口)
*buf:用于接受数据的缓冲区
*len:要接受的数据长度(最大长度为FIFO中已经存在的数据长度)
*返回:所读取的子串口数据长度
*备注:gwh
====================================================================================*/
uint16_t WK_PortRecvData(uint8_t port, void *buf, uint16_t len)
{
	uint8_t state = 0;
	uint8_t nread = 0;
	WK_CS_handler(port);                            // 片选三个wk2124中的一个	
	port = port % 4;                                
	if (port == 0)
	{
		port = 4;
	}
	state = WK_ReadSReg(port, WK2XXX_FSR);          // 读wk2124的子串口FIFO状态寄存器
	if (state & WK2XXX_RDAT)                        // 接收FIFO非空
	{
		nread = WK_ReadSReg(port, WK2XXX_RFCNT);      // 查询FIFO中的数据量
		nread = (len >= nread ? nread : len);
		WK_ReadFIFO(port, buf, nread);                // 读取FIFO中的数据
	}
	return nread;                                   // 返回实际读取到的数据长度
}