我看沁恒提供的例程中EXAM1中: #define CH375_CMD_PORT_ADDR 0xBDF1 /* CH375命令端口的I/O地址 */ #define CH375_DAT_PORT_ADDR 0xBCF0 /* CH375数据端口的I/O地址 */ 这个地址是完全由硬件电路决定吗?不用考虑CH375内部的一些东西吧? CH375评估板上用62256扩展外部RAM,它的地址是0000H~7FFFH,例程中: #define DISK_BASE_BUF_ADDR 0x0000 /* 外部RAM的磁盘数据缓冲区的起始地址,从该单元开始的缓冲区长度为SECTOR_SIZE */ #define DISK_BASE_BUF_LEN 4096 /* 默认的磁盘数据缓冲区大小为512字节,建议选择为2048甚至4096以支持某些大扇区的U盘,为0则禁止在.H文件中定义缓冲区并由应用程序在pDISK_BASE_BUF中指定 */ #define FILE_DATA_BUF_ADDR 0x1000 /* 外部RAM的文件数据缓冲区的起始地址,缓冲区长度不小于一次读写的数据长度 */ /* 由于演示板用的62256只有32K字节,其中CH375子程序用512字节,所以外部RAM剩余长度为32256字节 */ #define FILE_DATA_BUF_LEN 0x6800 /* 外部RAM的文件数据缓冲区,缓冲区长度不小于一次读写的数据长度 */ /* 如果准备使用双缓冲区交替读写,那么不要定义FILE_DATA_BUF_LEN,而是在参数中指定缓冲区起址,用CH375FileReadX代替CH375FileRead,用CH375FileWriteX代替CH375FileWrite */ 这是不是意味着磁盘数据缓存区和文件数据缓存区都在外部RAM中,那单片机内部的RAM呢?它不是也有一个地址吗?会不会和外部RAM冲突啊?它只用以上几条语句就可以使得数据都自动放在外部RAM中吗?
查看: 1518
回复: 4
[求助]关于CH375评估板的一些问题
热门产品 :
CH592: RISC-V内核BLE5.4无线MCU
单片机的内部RAM只是一些变量的定义用到,总共就256个字节。定义外部变量的定义为XDATA这个特殊字段之后编译器就将这个变量定义至外部RAM,至于分配的RAM地址是在0-7FFF之间随机分配的。
#define CH375_CMD_PORT_ADDR 0xBDF1 /* CH375命令端口的I/O地址 */ #define CH375_DAT_PORT_ADDR 0xBCF0 /* CH375数据端口的I/O地址 */ 这个地址是完全由硬件电路决定吗?不用考虑CH375内部的一些东西吧?
是的 138的Y3接CH375的CS脚,51的P2.0接CH375的A0脚。
明白了,谢谢!
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录