-
谢谢楼上,以后在这方面我会注意的,谁还有别的意见
-
STF203-22内部包含1.5K电阻吧,三合一板需要修改硬件或固件
没有1.5K电阻,靠固件能搞定?
-
不用赶快,已经搞定。。。
-
下载 (20.64 KB)
2010-6-29 22:21
我看了一下版主提的那几个例子,但是有几点不明白的地方:
举一个例子:我以TIM1以比较输出方式输出30K的脉冲,用TIM2来计数输出的脉冲个数,到达5000个脉冲(假设)后,关闭TIM1。首先配置TIM1为主模式,输出触发源CH1REF,而后配置TIM2为从模式,输入的TS位以TIM1的ITR0, TIM2的模式位就有点不明白了,不知道应该那个模式
1、TS触发源给到TIM2后是是作CEN启、停用还是作TIM2的时钟输入呢?
2、TIM2应该什么模式,从模式寄存器的SMS位为111时手册上写的是外部时钟模式1,而书上写的外部时钟模式2?设置为从模式时时钟是谁给的?PCLK?
3、TIM2计到5000后,不经中断可以关TIM1么?
4、以上说的按照给定的脉冲个数输出,还有300K输出脉冲频率平滑启动和停止,这种方法是不是最佳的?有没有更好的方法呢?
第一次用stm32,希望能得到版主和各位网友的指点,谢谢
-
现在换了个平台,又没有问题,真是折腾!谢谢各位热心朋友
-
加个1k的下拉电阻
-
引用 1 楼 retrymy 的回复:
KernelIoControl函数是有内核来调用的,并不需要你自己调用。可以在KernelIoControl中通过串口打印些信息出来,看有没有被调用。
没有被调用!
-
楼主说得好详细哦,MARK.
-
谢谢楼上的大哥,ES的问题我改过来了。。iUartSendLen 由于在其他的地方需要用到这个全局变量,所以在这里赋值了。。你提出的XDATA的问题,我在其他地方还有XDATA的分配空间。我测试过了。确实并不是我之前考虑到的可能。局部变量和全局变量是没有区别的。。我修改了一下SENDBUF[250]就没有问题了。。然而300的时候KEIL没有报错,居然通过了。。
我现在把发送函数改成下面的,
unsigned char xdata* cpSendBufPtr;
void UART_SendData(unsigned char *data_buf,unsigned int iCount)
{
iUartSendLen = iCount-1;
iSendCounter = 0;
SBUF = data_buf[0];
cpSendBufPtr = &data_buf[1];
}
在中断里面再发送余下的。
测试完全没有问题了。。
-
ucos跑防火墙?
-
引用 5 楼 finder_zhang 的回复:
我也在用STC的ADC,大家交流一下.
ADC_CONTR=0xe0; //打开ADC,设最快的速度
AUXR |= 0x10; //设置EADCI位为1,允许ADC中断
EADC_SPI=1; //允许ADC与SPI中断
EA=1; //开所有中断
请确定这些中断有打开.
ADC_CONTR |= 0x08; //启动ADC
读值时也要看8个channel……
你的硬件输入是怎样的,我得到的数据现在跳动很大.
-
是我哥找工作,大家别理解错了!!呵呵……
晚上回来结贴~~
PS:偶是纯爷们~怎么这么多人把我想成女的呢....
-
LZ问问题还早.
-
恭喜恭喜
恭喜恭喜
恭喜恭喜
.......
-
if(rti_time_stay>12700)
rti_time_stay=rti_time_stay+1;
改成上面的就可以断点调试了,怎么回事啊?
-
谢谢,大家的支持!
我也觉得可能是软件的问题。
可是找不到原因
我放在RS232上通讯时可以看到发送过来的校验和,但是在USB时获取的校验和是0
用通信助手又可以看到校验和,郁闷
-
新年快乐!一路顺风! 年后发发发!
-
可以到我blog里去看看!
http://blog.eeworld.net/control_tech
-
这个我也不是很懂呢,学习学习....顶上去
-
千万不能沉啊,今后估计还有n多人会遇到类似问题