关于CH563的一些问题

问题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楼大神!谢谢谢谢谢谢!!!j_0002.gif


关于问题1,刚刚已经通过编译了,哈哈,原来是大小端的问题,在“工程选项--》设备”标签下,把CPU类型改为小端就可以了!

关于问题2,我马上试试看,不论如何,非常感谢!j_0002.gif


问题2试验失败,懒得折腾了,直接用自己写的U0_Send发送算了,效率还高多了。。。j_0011.gif

不论如何,感谢五楼FJY大神的仗义援手!j_0002.gif


只有登录才能回复,可以选择微信账号登录