-
哦 这样
-
毕业设计的目的在于让你学东西,学不学得到,就是你的问题了,反正都能毕业,
-
不好意思,现在才给你们讲;
我自己下载的好像不是那个软件。我后来去我们的实验室拷贝了一个keil文件夹。放在C盘上后,只要设定对路径就可以了。路径的要完全正确。我的是 c:\program files\new\keil\c51\ 我的这样就行了。
还是谢谢大家的帮助。
-
HIVE BOOT SECTION应该没影响吧?莫非是CE的版本区别?
-
俺的6n137原理图
-
UART3和SPI2有冲突,要把SPI的时钟关掉。
-
wince 5.0编译的SDK 和wince6.0编译的SDK应该不一致 所以导致在6.0系统能跑起来 重新编译5.0的SDK应该就OK
-
-
eboot里面的IoAddress也是0x20000300吗??我的片选也是nGCS4,设置的是0x20000000,我在dm9000_init中打印出来时0xAA000000(是虚拟地址,uncache,映射过去的)。
但是我现在dm9000a的id一直检测不到(貌似DHCP可以获得地址),很奇怪
0x20000300也试过,也不行
-
这个问题,琢磨过一段时间,无果。关注。
-
太好了,恭喜一下
-
帮顶下,
MARK,学习下、
-
引用 3 楼 mxm1986 的回复:
杯具~~~~网上很多demo的呀
哈哈 杯具每天都有
-
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"MountHidden"=dword:1
"MountAsROM"=dword:1
"Folder"="ResidentFlash"
"Name"="Microsoft Flash Disk"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\Disk1]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"MountHidden"=dword:1
"MountAsROM"=dword:1
"Folder"="Disk1"
"Name"="Microsoft Flash Disk"
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\Disk2]
"DefaultFileSystem"="BINFS"
"PartitionDriver"="mspart.dll"
"MountHidden"=dword:1
"MountAsROM"=dword:1
"Folder"="Disk2"
"Name"="Microsoft Flash Disk"
; Keep FATFS from trying to shadow \Windows
[HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\SMFLASH\FATFS]
"MountHidden"=dword:0
"MountAsROM"=dword:0
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\SMFLASH]
"Prefix"="DSK"
"Dll"="smflash.dll"
"Index"=dword:1
"Order"=dword:0
"Profile"="SMFLASH"
"IClass"="{A4E7EDDA-E575-4252-9D6B-4195D48BB865}"
[HKEY_LOCAL_MACHINE\System\StorageManager\FATFS]
"Flags"=dword:00000014 ;FATFS_TFAT_ALWAYS|FATFS_FORCE_TFAT
;[HKEY_LOCAL_MACHINE\System\StorageManager\AutoLoad\SMFLASH]
; "DriverPath"="Drivers\\BuiltIn\\SMFLASH"
; "LoadFlags"=dword:1
; "BootPhase"=dword:0
可以帮我改改不?
-
引用 8 楼 ialwaysgo 的回复:
ADS加文件目录很方便,你直接拖进去。。。
谢谢ialwaysgo的回复。
编译时,在ADS工程目录下的源文件是全的,并不缺哪个文件。我的问题是进入AXD调试环境后找不到.c文件的SOURCE,目前没有调试环境,我明天再试试。
-
zigbee是可以组网的,每个模块都是有ID号的
-
呵呵,谢谢GUOPEIXIN这么热心:D,
在各位的指导下,今天上午仔细看了OAL的一些源码,
在头文件nkintr.h中:
#define SYSINTR_UNDEFINED (-1) // SysIntr not defined for IRQ SYSINTR mapping
#define SYSINTR_NOP 0 /* no processing required */
#define SYSINTR_RESCHED 1 /* set "reschedule flag" */
#define SYSINTR_BREAK 2 /* break into debugger */
#define SYSINTR_CHAIN 3 /* continue to next handler */
// SYSINTR_DEVICES is the base for any non-OAL system interrupts
#define SYSINTR_DEVICES 8
#define SYSINTR_PROFILE (SYSINTR_DEVICES+1) // System Profiling
#define SYSINTR_TIMING (SYSINTR_DEVICES+2) // Latency Analysis
#define SYSINTR_RTC_ALARM (SYSINTR_DEVICES+5) // real-time clock alarm
#define SYSINTR_NETWORK_SHARED (SYSINTR_DEVICES+6) // Combined interrupts for network
#define SYSINTR_VMINI (SYSINTR_DEVICES+7) // VMini RX interrupt.
// SYSINTR_FIRMWARE is the base for any interrupts defined in the OAL
#define SYSINTR_FIRMWARE (SYSINTR_DEVICES+8)
#define SYSINTR_MAX_DEVICES 64
#define SYSINTR_MAXIMUM (SYSINTR_DEVICES+SYSINTR_MAX_DEVICES)
红色这句就是定义了在OAL中的中断起始逻辑终端号,而在MAP.C文件中:
// Function: OALIntrRequestSysIntr
//
// This function allocate new SYSINTR for given IRQ and it there isn't
// static mapping for this IRQ it will create it.
//
UINT32 OALIntrRequestSysIntr(UINT32 count, const UINT32 *pIrqs, UINT32 flags)
{
UINT32 irq, sysIntr;
OALMSG(OAL_INTR&&OAL_FUNC, (
L"+OALIntrRequestSysIntr(%d, 0x%08x, 0x%08x)\r\n", count, pIrqs, flags
));
// Valid IRQ?
if (count != 1 || pIrqs[0] >= OAL_INTR_IRQ_MAXIMUM) {
sysIntr = SYSINTR_UNDEFINED;
goto cleanUp;
}
irq = pIrqs[0];
// If there is mapping for given irq check for special cases
if (g_oalIrq2SysIntr[irq] != SYSINTR_UNDEFINED) {
// If static mapping is requested we fail
if ((flags & OAL_INTR_STATIC) != 0) {
OALMSG(OAL_ERROR, (L"ERROR: OALIntrRequestSysIntr: "
L"Static mapping for IRQ %d already assigned\r\n", irq
));
sysIntr = SYSINTR_UNDEFINED;
goto cleanUp;
}
// If we should translate, return existing SYSINTR
if ((flags & OAL_INTR_TRANSLATE) != 0) {
sysIntr = g_oalIrq2SysIntr[irq];
goto cleanUp;
}
}
// Find next available SYSINTR value...
for (sysIntr = SYSINTR_FIRMWARE; sysIntr < SYSINTR_MAXIMUM; sysIntr++) {
if (g_oalSysIntr2Irq[sysIntr] == OAL_INTR_IRQ_UNDEFINED) break; }
// Any available SYSINTRs left?
if (sysIntr >= SYSINTR_MAXIMUM) {
OALMSG(OAL_ERROR, (L"ERROR: OALIntrRequestSysIntr: "
L"No avaiable SYSINTR found\r\n"
));
sysIntr = SYSINTR_UNDEFINED;
goto cleanUp;
}
// Make SYSINTR -> IRQ association.
g_oalSysIntr2Irq[sysIntr] = irq;
// Make IRQ -> SYSINTR association if required
if ((flags & OAL_INTR_DYNAMIC) != 0) goto cleanUp;
if (
g_oalIrq2SysIntr[irq] == SYSINTR_UNDEFINED ||
(flags & OAL_INTR_FORCE_STATIC) != 0
) {
g_oalIrq2SysIntr[irq] = sysIntr;
}
cleanUp:
OALMSG(OAL_INTR&&OAL_FUNC, (
L"-OALIntrRequestSysIntr(sysIntr = %d)\r\n", sysIntr
));
return sysIntr;
}
这个函数就是为物理中断指派相应的逻辑中断号,而红色那句就是指派一个空的逻辑中断号!
呵呵,谢谢大家的热心帮助,结贴啦:D
-
不错!
-
没有做过,关注
-
新概念51单片机C语言教程——入门、提高、开发、拓展全攻略
郭天祥编著
#include
#define unint unsigned int
#define unchar unsigned char
sbit wd=P2^2;
sbit dula=P2^6;
sbit wela=P2^7;
unchar code table[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
unchar code weima[]={
0xfe,0xfd,0xfb,0xf7,
0xef,0xdf};
sbit deng=P1^1;
void delay15()
{unchar i;
i++;i++;i++;i++;i++;i++;i++;i++;i++;i++;
}
void delay45()
{unchar i;
for(i=18;i>0;i--);
}
void delay103()
{unchar i;
for(i=45;i>0;i--);
}
void delay482()
{unchar i;
for(i=220;i>0;i--);
}
void delay(unint count) //delay
{
unint i;
while(count)
{
i=10;
while(i>0)
i--;
count--;
}
}
bit init()
{ wd=0;
delay482();
wd=1;
delay15();
return (wd);
}
void write(char command)
{unint i,j;
bit bit_code;
for(i=0;i>1;
if(bit_code)
{ wd=0;
j--;j--;
wd=1;
delay45();
}
else{
wd=0;
delay45();
wd=1;
j--;
}
}
}
bit readbit()
{bit date;
wd=0;
wd=1;
date=wd;
delay45();
return date;
}
unchar tempread()
{unchar temp,date,i;
for(i=0;i