社区闲人
发表于 2024-3-26 08:56:19
Program Size: data=152.6 xdata=111 code=10571
data=152.6-----> 大于100的变量或数组要移到xdata.
一般data 的占用在80以下为宜。
manzunzu
发表于 2024-3-26 10:00:29
软件我不太懂,按道理讲同样的程序,类似的芯片,程序很小,8H2K17的ram还更大,8H2K17肯定没问题,结果是1K28正常,2K17反倒是不行了
yjawei
发表于 2024-3-26 11:13:30
楼主查一下,是不是因为2K17U里面的USB原因,因为USB里面有1280byte的FIFO是共用RAM的。
21cnsound
发表于 2024-3-26 11:30:52
yjawei 发表于 2024-3-26 11:13
楼主查一下,是不是因为2K17U里面的USB原因,因为USB里面有1280byte的FIFO是共用RAM的。 ...
是的,STC8H2K17的2K RAM中1K XDATA,1280Byte的USB数据RAM,是否可以声明为XDATA使用,有待官方答复。
乘风飞扬
发表于 2024-3-26 15:19:20
21cnsound 发表于 2024-3-26 11:30
是的,STC8H2K17的2K RAM中1K XDATA,1280Byte的USB数据RAM,是否可以声明为XDATA使用,有待官方答复。 ...
没有使能USB功能的话,1280Byte USB数据RAM可以作为普通XRAM使用,地址和前面的1K连续,定义变量时使用 xdata 关键字定义就可以。
使能USB后,这1280字节的RAM就为USB专用的FIFO,1280字节的RAM就都不能当普通的XRAM使用了。(1280字节的USB RAM是一个整体,不能一部分当作USB的FIFO,另外一部分当作XRAM)
乘风飞扬
发表于 2024-3-26 15:23:24
这两个芯片的EEPROM操作没什么区别,只要注意EEPROM操作地址不要超过烧录时设置的EEPROM地址上限即可。
可以直接烧录附件例程到芯片里试试,通过串口输出EEPROM内容。
21cnsound
发表于 2024-3-26 15:24:03
乘风飞扬 发表于 2024-3-26 15:19
没有使能USB功能的话,1280Byte USB数据RAM可以作为普通XRAM使用,地址和前面的1K连续,定义变量时使用 x ...
多谢回复,这个好像在数据手册中没有写。
manzunzu
发表于 2024-3-26 16:26:47
manzunzu
发表于 2024-3-26 16:27:23
manzunzu
发表于 2024-3-26 16:28:04
STC8h2k17测试结果