WCH沁恒单片机
直播中

张英

8年用户 1443经验值
私信 关注
[问答]

如何获取CH563的本机MAC地址?

问题1:如何获取CH563的本机MAC地址?
从例程中看到有一个函数CH56X_GetMac(数组)。个人猜测应该是通过这个函数将MAC地址写入参数数组中。但如果是自己写的程序,要怎样才可以调用这个函数?因为找不到这个函数的声明和定义,也没看到相关的使用介绍。

问题2:CH563如何能让printf()函数输出到UART0?
从例程看好像就是初始化了UART0,然后就可以使用了,但我自己写的时候,就调用不了。
希望有大神能不吝赐教,不胜感激!

  

回帖(5)

姜春阳

2022-6-14 14:51:09
关于获取MAC地址,参考例程是NET_MAC。
我希望能够正常使用MAC和PHY就行,更上层的东西用自己的。
举报

刘飞

2022-6-14 14:51:14
关于问题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个条件),就会出现这个错误,并且无法通过编译。
举报

杨思

2022-6-14 14:51:20
关于问题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个条件),就会出现这个错误,并且无法通过编译。
举报

王银喜

2022-6-14 14:51:25
您好:
问题1:如何获取CH563的本机MAC地址?
       CH56X_GetMac()函数是我们官方提供的获取CH563出厂MAC地址的接口,想要使用这个函数,需要在工程中包含ISPXT56X.H头文件与ISPXT56X.O文件(加入时,格式选择library file)。
问题2:CH563如何能让printf()函数输出到UART0?
     printf函数选择串口0,需要先找到fputc()函数,将函数里面的串口寄存器全部改为UART0的寄存器
举报

更多回帖

发帖
×
20
完善资料,
赚取积分