请问大家,如何获得CF卡的序列号?

q368160666 2009-10-13 08:19:25
CF卡规范上讲CF卡用的是IED/ATA标准,但是我用下面这种方法得不CF卡的序列号,硬盘的问题:

static void ReadIDE()
{
int al;
int i;

WaitIde();
outp(0x1F6,0xA0); <=========主盘是0xA0,从盘是0xB0,
al = WaitIde();
if ((al&0x50)!=0x50) return;

outp(0x1F6,0xA0); <========= 但这里却不进行区分,直接使用0xA0
outp(0x1F7,0xEC); <========= 这个也有可能有问题
对于ATA设备,是0xEC,
但对于ATAPI设备,则为0xA1
al = WaitIde();
if ((al&0x58)!=0x58) return;

for (i=0;i<256;i++) {
pw[i] = inpw(0x1F0);
}

哪位老兄帮帮忙啊?
...全文
832 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
q368160666 2009-10-13
  • 打赏
  • 举报
回复
我只想用基本的IO函数来实现,我是在QNX下用的,里面也没有这样的函数
pcboyxhy 2009-10-13
  • 打赏
  • 举报
回复
硬件信息相关,可以用WMI

70,037

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧