谁能帮我看看这串代码能实现什么功能!

2019-07-21 03:17发布

extern u8  TIM2CH1_CAPTURE_STA;  //输入捕获状态          
extern u16 TIM2CH1_CAPTURE_VAL; //输入捕获值
int main(void)

 int i,c;
 int a[65534];
 u32 temp=0;   
  Stm32_Clock_Init(9);   //系统时钟设置
 uart_init(72,9600);     //串口初始化为9600
 delay_init(72);         //延时初始化
 LED_Init();        //初始化与LED连接的硬件接口
  TIM1_PWM_Init(1895,0);    //不分频。PWM频率=72000/(1895+1)=38Khz
  TIM2_Cap_Init(0XFFFF,72-10);  //以100khz的频率计数
    while(1)
 {
   //delay_ms(10);
  //LED0_PWM_VAL++;
  //if(LED0_PWM_VAL==300)LED0_PWM_VAL=0;
  LED0_PWM_VAL=948; 
  if(TIM2CH1_CAPTURE_STA&0X80)//成功捕获到了一次高电平  
  {
   temp=TIM2CH1_CAPTURE_STA&0X3F;
   i=temp;
   temp*=65536;     //溢出时间总和
   temp+=TIM2CH1_CAPTURE_VAL;  //得到总的高电平时间
   c=temp;
    TIM2CH1_CAPTURE_STA=0;   //开启下一次捕获
  }
  for(;i<=c;i++)
  a=1;
  GPIOA->CRH&=0X0FFFFFFF;
  GPIOA->CRH|=0X30000000;//PA15 推挽输出    
  GPIOA->ODR|=1<<8;      //PA15 输出高
 }
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
佚居士
1楼-- · 2019-07-21 07:33
今天我会全天在线的,求回复!
styleno1
2楼-- · 2019-07-21 08:15
 精彩回答 2  元偷偷看……
佚居士
3楼-- · 2019-07-21 08:38
回复【3楼】styleno1:
---------------------------------
?    这个    怎么了
佚居士
4楼-- · 2019-07-21 10:27
或者哪里错了!
STM32VBT6
5楼-- · 2019-07-21 11:36
这编译能通过的?岂止爆,还是狂爆,int a[65534]就用了64*4KB的内存。
佚居士
6楼-- · 2019-07-21 13:03
回复【6楼】STM32VBT6:
---------------------------------
能,在PA15持续输出高电平。是不是因为我安了个内存卡,才通过的!

一周热门 更多>