OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 6502|回复: 3

stm32 ALIENTEK板 PWM,求助!

[复制链接]

3

主题

6

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-3-14
在线时间
0 小时
发表于 2013-3-14 18:39:06 | 显示全部楼层 |阅读模式
刚买的一块学习板,昨天晚上很容易就把DS18B20的程序调试通过了。可是今天在调试PWM时去很蛋疼,MDK4,0仿真都出结果了,可是下到板子里面就是没反应,输出引脚始终为3.3V。源代码如下:(功能是实现PA7输出2HZ的 50%TTL 然后接到PA8观察LED闪烁),但是求助!
/**********************************main函数********************************/
int main()
{   
   Config_ExB();
     Config_Jtag(0x01);
     Config_Usart1();
   RCC->APB1ENR|=1<<1; //TIM3时钟使能
   GPIOA->CRH&=0XFFFFFFF0;//PA8输出
   GPIOA->CRH|=0X00000004;//浮空输入
   GPIOA->CRL&=0X0FFFFFFF;//PA7输出
   GPIOA->CRL|=0XB0000000;//复用功能输出
   GPIOA->ODR|=1<<7;//PA7上拉
     TIM3->SC=7199;//预分频器7200 得到10KHz 0.1ms
   TIM3->ARR=5000;//设定计数器自动重装值0.5s
  
   TIM3->CCR2=2500;
   TIM3->CCMR1|=7<<12; //CH2 PWM2模式
   TIM3->CCMR1|=1<<11; //CH2预装载使能
   TIM3->CCER|=1<<4; //OC2 输出使能
   TIM3->CR1=0x8000; //ARPE使能
   TIM3->CR1|=0x01; //使能定时器3

while(1);      
     
}

/**********************************main函数结束*******************************/
仿真结果如下:




正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-14 22:41:38 | 显示全部楼层
回复【楼主位】二七小马:
---------------------------------
试试我们的代码。我看你这代码也没啥问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

3

主题

6

帖子

0

精华

新手上路

积分
38
金钱
38
注册时间
2013-3-14
在线时间
0 小时
 楼主| 发表于 2013-3-14 23:22:56 | 显示全部楼层
代码的确没问题!我把PA7换成了PB7,TIM3-CH2改成TIM4-CH2,然后用跳线将PB7 A8连起来,LED就闪烁了!代码如下:
PA7外接了好几个引脚,SPI1_MOSI都挂在上面,而PB7没接其它引脚(LCD未接),是不是因为外接芯片太多的原因啊!
/**********************************main函数********************************/
int main()
{
   Config_ExB();
 Config_Jtag(0x01);
 Config_Usart1();
 GPIOA->CRH&=0XFFFFFFF0;//
   GPIOA->CRH|=0X00000004;//PA8浮空输入  

   GPIOB->CRL&=0X0FFFFFFF;//PB7输出PB7 T4 CH2
   GPIOB->CRL|=0XB0000000;//复用功能输出
   GPIOB->ODR&=(1<<7);//PB7上拉
 
   TIM4->SC=7199;//预分频器7200 得到10KHz 0.1ms
   TIM4->ARR=5000;//设定计数器自动重装值0.5s
   TIM4->CCR2=2500;

   TIM4->CCMR1|=7<<12; //CH2 WM2模式
   TIM4->CCMR1|=1<<11; //CH2预装载使能
   TIM4->CCER|=(1<<4)|(1<<5); //OC2 输出使能 低电平有效
   TIM4->CR1=0x80; //ARPE使能
 TIM4->CR1|=0x80; //ARPE使能
 TIM4->CR1|=0x01; //使能定时器4 

 
   while(1);
 
    
}


/**********************************main函数结束*******************************/
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-3-14 23:57:41 | 显示全部楼层
回复【3楼】二七小马:
---------------------------------
我们的例程,就是用的PA7输出PWM,接到PA8的哦.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-23 14:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表