用STM8S单片机 ADC值变小到一定范围,使LED灯闪烁怎么做?

2019-07-14 19:59发布

用STM8S单片机 ADC值变小到一定范围,使LED灯闪烁(不能用while+delays)
LED的引脚(GPIOA, GPIO_PIN_3),求大神程序
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
HARRY007
1楼-- · 2019-07-15 21:56
啊小鬼 发表于 2016-12-30 09:18
能说的更详细一些嘛,刚刚接触,有点不懂,最好有具体程序看看

我元旦期间给你回个简单代码哈
啊小鬼
2楼-- · 2019-07-16 02:44
 精彩回答 2  元偷偷看……
qqqq1234qqqq
3楼-- · 2019-07-16 08:22
dsaaaaaaaaaaaaaaaaaaaaaaaaffsdafdsfdsf
HARRY007
4楼-- · 2019-07-16 13:12
啊小鬼 发表于 2016-12-30 13:38
好的,谢谢
  1. /*******************************************************************************
  2. * 名称: Time4_Init
  3. * 功能: 定时器4初始化
  4. * 形参: 无
  5. * 返回: 无
  6. * 说明: 定时器4用来一个2ms的时间基准
  7. ******************************************************************************/
  8. void Time4_Init(void)
  9. {
  10.     TIM4_TimeBaseInit(TIM4_PRESCALER_128, 249);//理论定时中断时间8us*250=2MS
  11.     TIM4_PrescalerConfig(TIM4_PRESCALER_128, TIM4_PSCRELOADMODE_IMMEDIATE);
  12.     TIM4_ARRPreloadConfig(ENABLE);
  13.     TIM4_ClearFlag(TIM4_FLAG_UPDATE);
  14.     TIM4_ITConfig(TIM4_IT_UPDATE, ENABLE);
  15.     TIM4_Cmd(ENABLE);
  16. }

  17. INTERRUPT_HANDLER(TIM4_UPD_OVF_IRQHandler, 23)
  18. {//2MS
  19.   /* In order to detect unexpected events during development,
  20.      it is recommended to set a breakpoint on the following instruction.
  21.   */
  22.         LedDrive(adFlag);
  23.     TIM4_ClearITPendingBit(TIM4_IT_UPDATE);
  24. }

  25. void LedDrive(u8 flag)
  26. {
  27.         static u8 ledTime = 0;
  28.         if( 0 == Flag )
  29.         {
  30.                 ledTime = 0;
  31.                 GPIO_WriteLow(GPIOD, GPIO_PIN_3);//针对写低灭灯的接法
  32.                 return;
  33.         }
  34.         ledTime++;
  35.         if( ledTime > 250 )
  36.         {
  37.                 GPIO_WriteReverse(GPIOC, GPIO_PIN_7);//根据具体的灯接口改一下这个
  38.                 ledTime = 0;
  39.         }
  40. }

  41. void main(void)
  42. {
  43.         while(1)
  44.         {
  45.                 if(adValue < ADNUM)
  46.                         adFlag = 1;
  47.                 else
  48.                         adFlag = 0;
  49.         }
  50. }
复制代码

我直接写的一个,大概意思就是这样的。
啊小鬼
5楼-- · 2019-07-16 17:57
恩,我自己研究一下,谢谢喽
zuoluo1230
6楼-- · 2019-07-16 23:11
有点道理

一周热门 更多>