问题1:如何获取CH563的本机MAC地址?
从例程中看到有一个函数CH56X_GetMac(数组)。个人猜测应该是通过这个函数将MAC地址写入参数数组中。但如果是自己写的程序,要怎样才可以调用这个函数?因为找不到这个函数的声明和定义,也没看到相关的使用介绍。
问题2:CH563如何能让printf()函数输出到UART0?
从例程看好像就是初始化了UART0,然后就可以使用了,但我自己写的时候,就调用不了。
希望有大神能不吝赐教,不胜感激!
问题1:如何获取CH563的本机MAC地址?
从例程中看到有一个函数CH56X_GetMac(数组)。个人猜测应该是通过这个函数将MAC地址写入参数数组中。但如果是自己写的程序,要怎样才可以调用这个函数?因为找不到这个函数的声明和定义,也没看到相关的使用介绍。
问题2:CH563如何能让printf()函数输出到UART0?
从例程看好像就是初始化了UART0,然后就可以使用了,但我自己写的时候,就调用不了。
希望有大神能不吝赐教,不胜感激!
关于获取MAC地址,参考例程是NET_MAC。
我希望能够正常使用MAC和PHY就行,更上层的东西用自己的。
关于问题1的进展:
昨天通过各种努力发现要使用CH56X_GetMac()函数,必须满足两个条件:
A、引用ISPXT56X.H头文件
B、在工程文件夹下导入位于SRC里面的ISPXT56X.O文件。
注:
现在仍然没有解决CH56X_GetMac()函数的使用问题,在导入ISPXT56X.O文件后,编译无法通过,提示如下:
ERROR: L6789U:Library ISPXT56X.O menber ispxt56x_ex.o : Endianness mismatch.
如果在程序中不调用CH56X_GetMac()函数,就不会有任何问题,只要调用(满足2个条件),就会出现这个错误,并且无法通过编译。
关于问题1的进展:
昨天通过各种努力发现要使用CH56X_GetMac()函数,必须满足两个条件:
A、引用ISPXT56X.H头文件
B、在工程文件夹下导入位于SRC里面的ISPXT56X.O文件。
注:ISPXT56X.O文件是一个编译生成的文件。写入单片机的是*.hex文件,*.O文件貌似是一个半成品文件,就类似NET_MAC.C那样的函数定义编译后的结果。要正常使用ISPXT56X.O文件,必须在MAIN文件中引用头文件ISPXT56X.H。
现在仍然没有解决CH56X_GetMac()函数的使用问题,在导入ISPXT56X.O文件后,编译无法通过,提示如下:
ERROR: L6789U:Library ISPXT56X.O menber ispxt56x_ex.o : Endianness mismatch.
如果在程序中不调用CH56X_GetMac()函数,就不会有任何问题,只要调用(满足2个条件),就会出现这个错误,并且无法通过编译。
您好:
问题1:如何获取CH563的本机MAC地址?
CH56X_GetMac()函数是我们官方提供的获取CH563出厂MAC地址的接口,想要使用这个函数,需要在工程中包含ISPXT56X.H头文件与ISPXT56X.O文件(加入时,格式选择library file)。
问题2:CH563如何能让printf()函数输出到UART0?
printf函数选择串口0,需要先找到fputc()函数,将函数里面的串口寄存器全部改为UART0的寄存器
谢谢5楼大神!谢谢谢谢谢谢!!!
关于问题1,刚刚已经通过编译了,哈哈,原来是大小端的问题,在“工程选项--》设备”标签下,把CPU类型改为小端就可以了!
关于问题2,我马上试试看,不论如何,非常感谢!
问题2试验失败,懒得折腾了,直接用自己写的U0_Send发送算了,效率还高多了。。。
不论如何,感谢五楼FJY大神的仗义援手!