打印
[STM32F0]

F030初探【呼吸灯】

[复制链接]
2255|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
duanks|  楼主 | 2013-12-27 22:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
电磁场看的头都晕了,开学不努力,期末徒伤悲
辛苦抽时间写了个小程序,证明我不完全是伸手党:)顺便求F429的板子快些发货,不然就放假了:lol
#include "main.h"
void Delay(__IO uint32_t nTime);
int main()
{
  SysTick_Config(SystemCoreClock / 100);
  
  RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOC,ENABLE);
  GPIO_InitTypeDef gpio;
  gpio.GPIO_Mode=GPIO_Mode_AF;
  gpio.GPIO_OType=GPIO_OType_PP;
  gpio.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9;
  gpio.GPIO_Speed = GPIO_Speed_Level_1;  //没以前直观了
  gpio.GPIO_PuPd=GPIO_PuPd_NOPULL;
  GPIO_Init(GPIOC,&gpio);
  
  RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);
  GPIO_PinAFConfig(GPIOC,GPIO_PinSource8,GPIO_AF_1);  //也没以前直观了
  GPIO_PinAFConfig(GPIOC,GPIO_PinSource9,GPIO_AF_1);
  
  TIM3->CR1 = TIM_CR1_ARPE; //使能ARR缓冲
  TIM3->CCMR2 = TIM_CCMR2_OC3M_2 + TIM_CCMR2_OC3M_1 + TIM_CCMR2_OC3PE +
                TIM_CCMR2_OC4M_2 + TIM_CCMR2_OC4M_1 + TIM_CCMR2_OC4PE; //3、4通道配置为PWM Mode 1
  TIM3->CCER = TIM_CCER_CC3E + TIM_CCER_CC4E; //使能信号输出
  TIM3->ARR = 42000000 / 1000; //1KHz PWM
  
  TIM3->EGR = TIM_EGR_UG; //更新寄存器
  TIM3->CR1 |= TIM_CR1_CEN;  //使能定时器
  
  NVIC_InitTypeDef tim3_it;
  tim3_it.NVIC_IRQChannel = TIM3_IRQn ;
  tim3_it.NVIC_IRQChannelCmd = ENABLE ;
  tim3_it.NVIC_IRQChannelPriority = 3 ;
  NVIC_Init(&tim3_it);
  
  TIM_ITConfig(TIM3,TIM_IT_Update,ENABLE);
  
  while(1)
  {
  }
}
void TIM3_IRQHandler(void)
{
  static uint16_t n = 0;  //以前的u8 u16也没有了,库仍须完善
  static uint16_t flag = 0;
  if( flag == 0 )
    n++;
  else
    n--;
  if( n == 0 || n == 1000 )
    flag = !flag;
  
  TIM3->CCR3 = 42000000 / 1000  / 1000 * n ;
  TIM3->CCR4 = 42000000 / 1000 - TIM3->CCR3;
  TIM3->SR &=~ TIM_SR_UIF;
}
void Delay(__IO uint32_t nTime)
{
  TimingDelay = nTime;

  while(TimingDelay != 0);
}
沙发
xwuzi| | 2013-12-27 22:16 | 只看该作者
楼主把工程打包发下吧,谢谢了:)

使用特权

评论回复
板凳
duanks|  楼主 | 2013-12-27 22:38 | 只看该作者
本帖最后由 duanks 于 2013-12-27 22:40 编辑

工程来了 @xwuzi

STM32F030.rar

380.92 KB

使用特权

评论回复
地板
xwuzi| | 2013-12-27 22:42 | 只看该作者
duanks 发表于 2013-12-27 22:38
工程来了 @xwuzi

使用特权

评论回复
5
xwuzi| | 2013-12-27 22:45 | 只看该作者
duanks 发表于 2013-12-27 22:38
工程来了 @xwuzi

你用的不是MDK?

使用特权

评论回复
6
duanks|  楼主 | 2013-12-27 22:54 | 只看该作者
xwuzi 发表于 2013-12-27 22:45
你用的不是MDK?

IAR的

使用特权

评论回复
7
xwuzi| | 2013-12-27 23:04 | 只看该作者
duanks 发表于 2013-12-27 22:54
IAR的

第8行和第29行在MDK中都编译不通过,IAR真神奇,可以在中间声明变量

使用特权

评论回复
8
duanks|  楼主 | 2013-12-27 23:22 | 只看该作者
KEIL也可以,在如下位置加--c99选项
@xwuzi

捕获.PNG (42.97 KB )

捕获.PNG

使用特权

评论回复
9
zlab| | 2013-12-28 09:06 | 只看该作者
什麼意思呢?

使用特权

评论回复
10
xwuzi| | 2013-12-28 14:26 | 只看该作者
duanks 发表于 2013-12-27 23:22
KEIL也可以,在如下位置加--c99选项
@xwuzi

学习了

使用特权

评论回复
11
xsgy123| | 2013-12-28 19:34 | 只看该作者
开发板不知道什么时候能发货

使用特权

评论回复
12
秋天落叶| | 2013-12-28 19:49 | 只看该作者
鼓励原创

使用特权

评论回复
13
dongranmengming| | 2014-1-18 14:53 | 只看该作者
make

使用特权

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

本版积分规则

33

主题

142

帖子

2

粉丝