Chào các đại hiệp !
Tớ làm thế này, không biết sao không chạy được ? Nhờ các đại hiệp hóa giải giúp.
(Dùng keil)
...
#define ROM_ADD 0x4000 // Rom được giải mã địa chỉ tại 0x4000
void write(unsigned char b, unsigned int add)
{
unsigned char tmp = 0;
XBYTE[add] = b; // ghi ROM
if(b == 0)
tmp = 1; // làm cho tmp khác b
//kiểm tra DATA polling
while(tmp != b)
tmp = XBYTE[add]; //đọc ROM tại địa chỉ vừa ghi
}
trong main:
void main()
{
//out led để biết
...
write(55, ROM_ADD); // ghi byte 55 vào địa chỉ 0x4000
//out led
...
}
Quan sát thấy thì nó bị lặp vô tận tại :
while(tmp != b)
tmp = XBYTE[add]; //đọc ROM tại địa chỉ vừa ghi
Có nghĩa là nó đọc ra không được. Không biết code có vấn đề gì không ? Con ROM mới mua về, chắc là không có protect gì rồi.
Tớ làm thế này, không biết sao không chạy được ? Nhờ các đại hiệp hóa giải giúp.
(Dùng keil)
...
#define ROM_ADD 0x4000 // Rom được giải mã địa chỉ tại 0x4000
void write(unsigned char b, unsigned int add)
{
unsigned char tmp = 0;
XBYTE[add] = b; // ghi ROM
if(b == 0)
tmp = 1; // làm cho tmp khác b
//kiểm tra DATA polling
while(tmp != b)
tmp = XBYTE[add]; //đọc ROM tại địa chỉ vừa ghi
}
trong main:
void main()
{
//out led để biết
...
write(55, ROM_ADD); // ghi byte 55 vào địa chỉ 0x4000
//out led
...
}
Quan sát thấy thì nó bị lặp vô tận tại :
while(tmp != b)
tmp = XBYTE[add]; //đọc ROM tại địa chỉ vừa ghi
Có nghĩa là nó đọc ra không được. Không biết code có vấn đề gì không ? Con ROM mới mua về, chắc là không có protect gì rồi.
Comment