-
检查过库函数代码发现没啥错误
觉得差别 1经过一段时间才读 event flag, 2 是一进中断就读event flag.
所以进行以下操作 在读event flag寄存器 前 delay 了一会, 大概10条汇编指令左右.
一切都正常了.
void TIM3_IRQHandler(void)
{
u16 i;
for (i=0; i<2;i++);
if ( (TIM3->SR & 0x0002)&&(TIM3->DIER & 0x0002))
{
}
if ((TIM3->SR & 0x0001) &&(TIM3->DIER & 0x0001))
{
}
}
-
datasheet里有说明的。不知道什么时候供货欸。。。
我们的板子已经发出去做了。。。到时候秀一下。。。
-
不是高手 来学习的
我在处理离散和非线性问题的时候,碰到这个问题,有DSP多好啊
不过现在已经用上了 STM32硬件除法,单周期乘法 再采用取表法,速度还算跟得上
只是性能嘛 就差了,因为曲线 还不是很平滑,插值会一阶一阶的。
还请多多指教啊
-
Somebody can help me?
-
感觉是的,要是的话,那就解绝了
-
帮你顶
-
大侠,我想请教你CMD17没有响应是什么引起的阿?我也遇到类似的问题,求指教阿
-
这个只能帮顶下。
MARK,
-
是的,就是LS的图。
-
并不是用户模式就不能使用virtualcopy,virtualcopy只是不能在用户模式的AP中使用,但是却还可以在用户模式的驱动使用,但是在用户模式的驱动中使用也有条件,那就是必须在对应的注册表中设置可以访问的内存地址的范围才行。
-
其实上面的语句确实没错,我前出错的原因是这些语句的上面有错。但是在windows ce的环境下并没有直接将错误准确只出来,而是影响了后面的语句
-
以下是成功的打印信息,不过几乎要加载全部的镜像大小:
OpenPartition: Partition Exists=0x1 for part 0x21.
BP_SetDataPointer at 0x0
ReadData: Start = 0x0, Length = 0xd0000a.
Log2Phys: Logical 0x500 -> Physical 0xa00
Windows CE Kernel for ARM (Thumb Enabled) Built on Feb 8 2007 at 23:36:51
ProcessorType=0920 Revision=0
sp_abt=ffff5000 sp_irq=ffff2800 sp_undef=ffffc800 OEMAddressTable = 8c2013e0
Windows CE Firmware Init
INFO: Initializing system interrupts...
INFO: Initializing system clock(s)...
INFO: Initializing driver globals area...
SDMMC config set rGPGCON: 20504
pdwXIPLoc = 0x8c33f000
pdwCurXIP = 0x8c33f000
dwNumXIPs = 0x2
pChainEntry = 0x8c33f004
XIP (8c200000 -> 8c372ed4) span
XIP (8c200000 -> 8c372ed4) span
XIP (8c200000 -> 8c372ed4) span
XIP (8c200000 -> 8c372ed4) span
XIP (8c200000 -> 8c372ed4) span
XIP (8c200000 -> 8c372ed4) span
ppte->dwVA = 0x8c000000
XIP (8c200000 -> 8c372ed4) span
ppte->dwVA = 0x8c000000
XIP (8c380000 -> 8cbba778) span
OEMInit Done...
Sp=ffffc7cc
NandFlash FMD_Init
NandFlash FMD_Init Done
I2S_Ini---
Prescaler:2
384 clock
lpMapFIFOdata[0]1: dwContext = 0xBAK_Init: dwContext = 0x602ed64
BacklightInitialize
BL_PowerOn
!!!!!!!!!!!! BACKLIGHT ON !!!!
BAK: IOCTL_POWER_CAPABILITIES
USB:OhcdPdd_Init
++InitializeOHCI
USB:*pIrq=11, *pioPortBase=0x450000
OHCD: MapIrq2SysIntr(11): 27
OHCD: Memory Object
--InitializeOHCI
USB enable interrutp
在InitRomChain打印信息
void InitRomChain(void)
{
static ROMChain_t s_pNextRom[MAX_ROM] = {0};
DWORD dwRomCount = 0;
DWORD dwChainCount = 0;
DWORD *pdwCurXIP;
DWORD dwNumXIPs;
PPTE ppte;
DWORD dwEnd;
ROMChain_t *pList;
PXIPCHAIN_ENTRY pChainEntry = NULL;
ppte = (PPTE) OEMAddressTable;
if(pdwXIPLoc == NOT_FIXEDUP)
{
return; // no chain or not fixed up properly
}
// lpWriteDebugStringFunc(TEXT("pdwXIPLoc = %x \r\n"));
RETAILMSG(1,(TEXT("pdwXIPLoc = 0x%x \r\n"),pdwXIPLoc));
// set the top bit to mark it as a virtual address
pdwCurXIP = (DWORD*)(((DWORD)pdwXIPLoc) | 0x80000000);
RETAILMSG(1,(TEXT("pdwCurXIP = 0x%x \r\n"),pdwCurXIP));
// first DWORD is number of XIPs
dwNumXIPs = (*pdwCurXIP);
RETAILMSG(1,(TEXT("dwNumXIPs = 0x%x \r\n"),dwNumXIPs));
if(dwNumXIPs > MAX_ROM)
{
lpWriteDebugStringFunc(TEXT("ERROR: Number of XIPs exceeds MAX\n"));
return;
}
pChainEntry = (PXIPCHAIN_ENTRY)(pdwCurXIP + 1);
RETAILMSG(1,(TEXT("pChainEntry = 0x%x \r\n"),pChainEntry));
while(dwChainCount < dwNumXIPs)
{
if ((pChainEntry->usFlags & ROMXIP_OK_TO_LOAD) && // flags indicates valid XIP
*(LPDWORD)(((DWORD)(pChainEntry->pvAddr)) + ROM_SIGNATURE_OFFSET) == ROM_SIGNATURE)
{
s_pNextRom[dwRomCount].pTOC = *(ROMHDR **)(((DWORD)(pChainEntry->pvAddr)) + ROM_SIGNATURE_OFFSET + 4);
s_pNextRom[dwRomCount].pNext = NULL;
if (dwRomCount != 0)
{
s_pNextRom[dwRomCount-1].pNext = &s_pNextRom[dwRomCount];
}
else
{
OEMRomChain = s_pNextRom;
}
dwRomCount++;
}
else
{
lpWriteDebugStringFunc( _T("Invalid XIP found\n") );
}
++pChainEntry;
dwChainCount++;
}
pList = OEMRomChain;
for ( ; pList; pList = pList->pNext)
{
for (; ppte->dwSize; ppte ++)
{
dwEnd = ppte->dwVA + (ppte->dwSize pTOC->physfirst, ppte->dwVA, dwEnd))
{
if (IsInRange (pList->pTOC->physlast, ppte->dwVA, dwEnd))
{
// good XIP, break inner loop and go on to the next region
RETAILMSG(1,(TEXT("ppte->dwVA = 0x%x \r\n"),ppte->dwVA));
RETAILMSG(1,(L"XIP (%8.8lx -> %8.8lx) span\r\n",
pList->pTOC->physfirst, pList->pTOC->physlast));
break;
}
}
RETAILMSG(1,(L"XIP (%8.8lx -> %8.8lx) span\r\n",
pList->pTOC->physfirst, pList->pTOC->physlast));
}
if (!ppte->dwSize)
{
RETAILMSG(1,(TEXT("doesn't exist in OEMAddressTab\r\n")));
}//*/
}
}
-
帮顶下。
MARK.学习下。
-
个人觉得PID得实际跟踪,我的调试经验是把P I D,和e(n)用matlab画一个图出来,然后再一点点分析,自己去看PID多大好,因为PID还与量化的大小有关。。。这只是个人想法。。。。
-
尤其是c8051f320!!!带usb,用处挺多的!!!
概括一下:
他大舅,他小舅,都是他舅;
高桌子,低板凳,都是木头.
-
引用楼主 lth93 的回复:
我的板子是横屏,开机的时候需要自动调整成竖屏,也就是旋转90度,请问大家我如何设置,是需要修改注册表呢还是更改LCD驱动呢?我的板子上自带的应用软件可以完成LCD旋转,说明驱动是支持旋转的;我用的是wince 5.0,最好是两种都说一下,详细点,额是菜鸟啊,呵呵,谢谢啊
LZ这么说,也就是说,你现在的问题不是问题了,都能实现的啊。。。
-
引用 23 楼 liu_jun_ivan 的回复:
问题解决,什么库都没问题,可能是PlatformBuilder和VS2005有某种冲突,卸载掉PB后,终于可以在线调试了。最后发现程序完全不运行的原因是定制的OS为SmartPhone类型,不支持Dialog Frame类型的窗口,改成另外两种之一都可以。以前没碰到过的问题,学习了。
要是大家在解决问题后都像lz一样把原因给罗列出来就好了
-
不知道楼主是否已经解决此问题。
-
上海锐极电子是一家在嵌入式领域提供专业开发工具,软硬件平台、委托设计服务的专业公司。拥有数百种处理器的调试工具、以及嵌入式实时多任务操作系统,集成开发(编译)环境,开发板,各种技术方案和技术服务。我们的最终目标是为客户提供业界最为全面的嵌入式解决方案。
选择锐极不仅仅是选择锐极的产品更是选择了锐极的服务
更多咨询:powerpc仿真器:www.ruijitek.com
ppc8337,ppc8339,ppc8313开发板
-
正确!!