打印
[STM32]

ucos和外部时钟模式2 二者冲突吗

[复制链接]
1275|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jjg809898461|  楼主 | 2014-2-8 10:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
jjg809898461|  楼主 | 2014-2-8 10:34 | 只看该作者
void DCS3200_Test(uint8_t k)
{
        OS_CPU_SR cpu_sr=0;
        uint16_t i,j;       
        uint32_t data[9][4];
        uint32_t max,min,count,Average;
        int pos[][4]={
{100,140,24,8}, {132,140,24,8}, {164,140,24,8}, {196,140,24,8}, {228,140,24,8}, {260,140,24,8}, {292,140,24,8}, {324,140,24,8}, };
//   TIM2->SMCR&= 0XBFFF;//14位清零,禁止使用外部时钟模式2
  TIM2->SMCR|= 0X4000;//使能外部时钟模式2

        GPIO_ResetBits(GPIOC, GPIO_Pin_0 );        //使能端口

  TIM2_Configuration();       
//   printf("2 \n");       
                //Average = 0;                          //注意全局变量在这里的初始化问题       
for(i=0;i<8;i++)
        {
//                 printf("3 \n");       
    for(j=0;j<4;j++)
                        {
//                                 printf("4 \n");       
                                switch (j)
                                {
                                         case 0:
                               
                                                GPIO_ResetBits(GPIOC, GPIO_Pin_2 | GPIO_Pin_3); //选择红色滤光器       
                                                pString = "红色频率";                                          
                                                break;                                       
                                         case 1:                                                                                
                                                GPIO_SetBits(GPIOC, GPIO_Pin_2 | GPIO_Pin_3);   //选择绿色滤光器       
                                                pString = "绿色频率";                                          
                                                break;       
                                         case 2:                                                                        
                                                GPIO_ResetBits(GPIOC, GPIO_Pin_3);              //选择蓝色滤光器
                                                GPIO_SetBits(GPIOC, GPIO_Pin_2);       
                                                pString = "蓝色频率";                                          
                                                break;       
                                         case 3:                                                                                       
                                                GPIO_ResetBits(GPIOC, GPIO_Pin_2);              //选择白色滤光器
                                                GPIO_SetBits(GPIOC, GPIO_Pin_3);       
                                                pString = "白光频率";       
                                                break;                               
               
                                }
            TIM_SetCounter(TIM2,0);
//                delay_us(10000);// 10000 * 10us = 100ms
                                delay_ms(100);
                Frequency=10*TIM_GetCounter(TIM2);//0.1s内计数波形个数

使用特权

评论回复
板凳
jjg809898461|  楼主 | 2014-2-8 11:14 | 只看该作者
顶一下,大神们帮帮小弟啊

使用特权

评论回复
地板
jjg809898461|  楼主 | 2014-2-8 15:51 | 只看该作者
有进展了,我忘了配置tim2 时钟了,不过配置后是有数据,但是乱码,不知道哪还有问题,继续研究

使用特权

评论回复
5
jjg809898461|  楼主 | 2014-2-10 11:18 | 只看该作者
问题解决了,是delay配置问题,使用了原子的时钟配置后就好了,太感谢原子了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

71

帖子

0

粉丝