-
恩,是啊,需要存储数据,但那应该不会出错啊!
-
各位请问如何用STM8的定时器输出相差固定为90度的方波,谢谢!
使用STM8定时器输出比较的Toggle模式,可以很方便地输出相位相差固定为90度的两个方波。
这种Toggle模式的基本操作方法是:在比较成功时改变(翻转)输出的状态。
方波半周期数值设置在Auto-reload寄存器,比如设置值为100,则全周期数值为200,设置通道1的比较值为20,则设置通道2的比较值为20+100/2=70,这样就可以产生相差固定为90度的两个方波(100/2 就是 周期为200 的 90度)。
-
这个问题太复杂了,你要逐步缩小查找范围。
可以先考虑在同样的板子上换掉MCU,换上新的MCU看看是否恢复正常,如果仍有问题,则可以判断问题在板子上其他部分。
如果是MCU的问题,则要看看换下的MCU在其它环境下是否正常,如果仍有问题,则可能MCU部分被损坏,接下来就要查找是哪部分损坏,再继续追查损坏原因。
-
mark......多谢
-
假如将硬件的一些问题,比如接触不良,断线,数据线短路之类的问题排除的话,还出现那样的白屏,那么初始化的代码没有正确的可能性很大了。
-
学习了
-
楼主的问题 的确有点离谱!!
建议你还是去 中关村在线,多多差异与比对!
http://www.zol.com.cn/
另外可以去电子市场 多看看。
-
就是,可以搜索的啊,然后就可以搜出所在的库来。
-
好帖 mark
-
就是赋值语句都失灵了,会是时间间隔太短,要延时吗??
-
如果开了MMU进行地址映射就不能访问物理地址只能访问虚拟地址。
-
引用 1 楼 veabol 的回复:
另外的加载方法就是用BSP中流驱动的方法,在platform.reg里边把注册表信息写好,在platform.bib中把DLL文件包含到NK中去,再重新make一下。
此方法正解!!支持!
-
你是用蜂鸣器还是扬声器播放音乐?
-
检查一下是否有错误状态。
比如从你的贴图中可以看出有LBD(LIN break detection flag)和ORE(Overrun error),请检查一下为什么会有这两个标志。
-
我把程序改了一下
还是一样的效果
//------------------------------------------------------------------
//TMR0初始化子程序
void init_tmr0()
{
//Timer0初始化设置
T0CS=0;
PSA=1;//Timer0不使用预分频器
//外部时钟定时方式
T0IF=0;//清除TMR0的中断标志
T0IE=1;//Timer0中断允许
//GIE=1;
}//------------------------------------------------------------------
//中断入口函数
void interrupt compare()
{//定时器中断
if(T0IF && T0IE)
{
TMR0=0xFF; //对TMR0写入一个调整值。因为写入TMR0后接着的
//两个周期不能增量,中断需要3个周期的响应时间,
//以及C语言自动进行现场保护要消耗周期
T0IF=0; //清除中断标志
if(++ms==25)
{
ms=0;
if(++s==1000)
{
s=0;
RB3=!RB3;
}
}
}
}复制代码
是什么地方设置的不对吗
-
我也是,遇到了同样的问题。按上面的方法都试过了,还是编译失败。楼主能把你的方法发给我么?baoshanqiang@163.com。诚谢!
-
恭喜楼主,未来就在不远处!
-
已经解决了。原来点开里面就有中文包的。不细心啊。。结贴
-
如果启动WINCE后你还有其它的盘符的话,看下其它的盘符是DKS多少,然后USB注册表那部分用对应的DSK几就行了
-
顶下