当前位置: 首页 > news >正文

【iCore4 双核心板_ARM】例程五:SYSTICK定时器 实验——定时点亮LED

实验原理:

  通过STM32的三个GPIO口驱动三色LED的三个通道,设定GPIO为推挽输出模式,采

用灌电流方式与LED连接,输出高电平LED灭,输出低电平LED亮,通过系统定时器实现

1s定时,每秒变换一次LED颜色。

核心代码:

int main(void)
{

  /* USER CODE BEGIN 1 */
    static int led_work_status;

  /* USER CODE END 1 */

  /* MCU Configuration----------------------------------------------------------*/

  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();

  /* USER CODE BEGIN Init */

  /* USER CODE END Init */

  /* Configure the system clock */
  SystemClock_Config();

  /* USER CODE BEGIN SysInit */

  /* USER CODE END SysInit */

  /* Initialize all configured peripherals */
  MX_GPIO_Init();

  /* USER CODE BEGIN 2 */

  /* USER CODE END 2 */

  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
  /* USER CODE END WHILE */

  /* USER CODE BEGIN 3 */
        if(systick.second_flag == 1){
            systick.second_flag = 0;
            led_work_status += 1;
            if(led_work_status > 2)led_work_status = 0;
            switch (led_work_status){
                case 0 :
                    LED_RED_ON;
                    LED_GREEN_OFF;
                    LED_BLUE_OFF;
                    break;
                    
                case 1 :
                    LED_RED_OFF;
                    LED_GREEN_ON;
                    LED_BLUE_OFF;
                    break;
                    
                case 2:
                    LED_RED_OFF;
                    LED_GREEN_OFF;
                    LED_BLUE_ON;
                    break;
                    
                default:
                    
                    break;    
            }            
        }
  }
  /* USER CODE END 3 */

}
void HAL_SYSTICK_Callback(void)
{
    //中断时间1ms,每ims进入一次中断
    static int counter = 0;
    
    if((counter ++ % 1000) == 0){
        systick.second_flag = 1;    
    }
}

源代码下载链接:

链接:http://pan.baidu.com/s/1eSclNOI 密码:cddu

iCore4链接:

相关文章:

  • c# 错误和异常处理
  • http://blog.csdn.net/renwuqiangg/article/details/53088720
  • 利用XML序列化实现程序配置文件
  • 想要快速搭建开发测试环境?这么做就可以!
  • 漂浮广告,IE,FireFox下兼容,多个漂浮不冲突
  • 需求引导设计 切莫教条主义
  • RSA简介(三)——寻找质数
  • 北京初“探”,还是初“谈”
  • 售前支持服务流程设计的考虑
  • XStream(xml/bean转换)
  • iis不能读取数据库的解决方案
  • php学习的一些笔记
  • android manifest.xml 文件
  • ireport +jasperreport 中文不能显示
  • rtmp简要流程
  • Google 是如何开发 Web 框架的
  • 【comparator, comparable】小总结
  • Akka系列(七):Actor持久化之Akka persistence
  • bearychat的java client
  • Git 使用集
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript函数式编程(一)
  • Javascript基础之Array数组API
  • JDK 6和JDK 7中的substring()方法
  • mongo索引构建
  • MyEclipse 8.0 GA 搭建 Struts2 + Spring2 + Hibernate3 (测试)
  • mysql中InnoDB引擎中页的概念
  • Promise面试题,控制异步流程
  • spring-boot List转Page
  • SpringCloud集成分布式事务LCN (一)
  • springMvc学习笔记(2)
  • ucore操作系统实验笔记 - 重新理解中断
  • Vue.js-Day01
  • vuex 学习笔记 01
  • Web设计流程优化:网页效果图设计新思路
  • 从0到1:PostCSS 插件开发最佳实践
  • 工作手记之html2canvas使用概述
  • 理解在java “”i=i++;”所发生的事情
  • 深度学习在携程攻略社区的应用
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 算法系列——算法入门之递归分而治之思想的实现
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 云大使推广中的常见热门问题
  • ​ 无限可能性的探索:Amazon Lightsail轻量应用服务器引领数字化时代创新发展
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (C语言)深入理解指针2之野指针与传值与传址与assert断言
  • (附源码)springboot美食分享系统 毕业设计 612231
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转载)CentOS查看系统信息|CentOS查看命令
  • (转载)hibernate缓存
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • *p++,*(p++),*++p,(*p)++区别?
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .NET Core 将实体类转换为 SQL(ORM 映射)