单片机型号:STM32L053R8T6
W5500驱动程序完成后,运行时,单片机死机。W5500驱动程序先前已经在项目中具体应用过,运行的比较稳定。这次移植后,没有做改动,但是单片机运行时死机。
此项目与先前项目的不同点在于,项目中有FreeRTOS操作系统运行,原先的项目没有,最后将问题聚焦于W5500的构造函数上,如下程序所示:
CW5500::CW5500(void):CSpi()
{
//uint8_t memsize[2][8] = {
{2,2,2,2,2,2,2,2},{2,2,2,2,2,2,2,2}};
//注册相关的函数
reg_wizchip_cris_cbfunc(w5500_cris_enter, w5500_cris_exit);
reg_wizchip_cs_cbfunc(w5500_cs_select, w5500_cs_deselect);
reg_wizchip_spi_cbfunc(w5500_spi_readbyte, w5500_spi_writebyte);
//硬件复位w5500
this->reset();
//软件复位w5500
ctlwizchip(CW_RESET_WIZCHIP, (void*)NULL);
//初始化socket buffer
ctlwizchip(CW_INIT_WIZCHIP, (void*)memsiz