-
有待改善啊
-
买书不如买开发板,这个观点我很赞同
-
大家好,我是LZ的同事
简单来说
1)ASIC只能对偶地址进行字读,不能字节读
2)ASIC的外部地址是按8位寻址的,字读的数据是由2个地址的数据组成的,连续读的偏移量应该为2(第一次2000->第二次2002)
3)MPU的外部地址是按16位寻址的,连续读的偏移量为1(第一次2000->第二次2001)
4)由2)和3)可得,第二次读的是ASIC的2001,由1)可知,不能对奇地址进行字读,出现问题
我不是很明白你的描述,能否按照我在15楼的表示方式,列出几个例子说明?
关于19楼的说明,我有疑问:
2)ASIC的外部地址是什么?与STM32什么关系?
“字读的数据是由2个地址的数据组成的”,这里每个地址的寻址范围是多少?1个字节还是2个字节?
3)MPU是什么?与STM32什么关系?
“MPU的外部地址是按16位寻址的”,每次读操作,读出几个字节?1个字节还是2个字节?
-
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** TIM1初始化, 更新时间为40uS(PWM输出周期/25MHz)
**
** Parameters:
** None
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void TIM1_Init(void)
{
CLK_PCKENR1 |= 0x80; //开启定时器1外设时钟
TIM1_EGR |= 0x01; //重新初始化TIM1
TIM1_ARRH = (UCHAR)(TIM1_Period >> 8); //设定重装载值
TIM1_ARRL = (UCHAR)(TIM1_Period);
TIM1_PSCRH = 0x00; //设定预分频为1 = 16M
TIM1_PSCRL = 0x00;
TIM1_CR1 = 0x00; //边沿对齐,向上计数
TIM1_RCR = 0x00;
}
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** TIM1_CC2 PWM输出初始化
**
** Parameters:
** None
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void TIM1_OC2Init(void)
{
TIM1_CCER1 = 0x30; //CC2E开启,高电平有效
TIM1_CCMR2 = 0x70; //PWM模式1,CC1配置入输出
TIM1_OISR &= ~0x03;
TIM1_CCR2H = (UCHAR)(TIM1_Pulse >> 8);
TIM1_CCR2L = (UCHAR)(TIM1_Pulse);
}
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** TIM1使能或禁止
**
** Parameters:
** None
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void TIM1_Cmd(FunctionalState NewState)
{
if(NewState != DISABLE)
{
TIM1_CR1 |= 0x01; //使能计数器
}
else
{
TIM1_CR1 &= ~0x01; //禁止计数器
}
}
/*
**-----------------------------------------------------------------------------
**
** Abstract:
** TIM1_CC2 PWM输出控制
**
** Parameters:
** None
**
** Returns:
** None
**
**-----------------------------------------------------------------------------
*/
void TIM1_CtrlPWMOutPuts(FunctionalState NewState)
{
if(NewState != DISABLE)
{
TIM1_BKR |= 0x80;
}
else
{
TIM1_BKR &= ~0x80;
}
}
这是我写的TIM1 PWM输出
-
肯定是pcb布线的问题
-
哈哈,多谢版主的及时回复。
-
FFT的算法与仿真有什么关系,你用到单片机的什么硬件了吗?
-
期待高手可以搞定这个,哈哈,废物利用啊,一般被更新换代的主机,都是废弃的。几千块买来的东西,用了几年,卖给二手的,200块还要亲自送货给人家。假如可以用在学习上,就相当好了。
-
好几天没上来,已经ok了,以兼容模式运行就能够安装update.全部是以xp sp3的兼容模式运行的.编译了一个系统,也没出什么问题.
-
就用CFile和串行化类就行了
-
好贴必顶
-
并且
Windows驱动开发技术详解 给的第一个 源码 编译都有问题:
1>d:\winddk\7600.16385.0\bin\makefile.new(453) : fatal error U1052: file 'd:\winddk\7600.16385.0\source\objchk_wxp_x86\i386\_objects.mac' not found
1>errors in directory d:\winddk\7600.16385.0\source code\chapter01\nt_driver\1
1>d:\winddk\7600.16385.0\bin\makefile.new(453) : error U1052: file 'd:\winddk\7600.16385.0\source\objchk_wxp_x86\i386\_objects.mac' not found
1>Stop.
1>nmake.exe /nologo BUILDMSG=Stop. -i BUILD_PASS=PASS2 LINKONLY=1 NOPASS0=1 MAKEDIR_RELATIVE_TO_BASEDIR=source code\chapter01\nt_driver\1 failed - rc = 2
晕了 到底是什么情况 帮帮我吧 各位大神!!!
-
~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif][/img]~[img=http://forum.eeworld.net/PointForum/ui/scripts/eeworld/Plugin/003/monkey/46.gif[/img]
-
我在stepldr中加了亮灯,出现了另外的问题
1。加载stepldr.nb0,startup.s之一执行到bl main之后就没有反应了
2。加载stepldr.bin或NBL1.nb0直接就挂了
-
谢谢啦!!!
不过C语言里不是有_crol_和_cror_ 循环命令吗!!我就是想搞明白这两个是如何实现的!!而且用他代码较简单!
-
OK
-
定义DBYTE 地位为0 跟平时咱们定义寄存器是一样的
-
看样子,暂时没解了,嘎嘎自己研究
-
我是新人 来撞撞沙发
-
1.一定要在OnEraseBkgnd返回TRUE,所有要做的事情都在OnPaint中做
2.一定要使用双缓冲技术
3.您如果实现了前两种,问题还是不一定解决:(,但比您现在会有一些改观
我目前知道完全解决这个问题有两种方法:
1.使用direct ui
2.研究GetDCEx
上面仅仅是个人意见,还希望大家拍砖