-
开场白:上一节讲了利用累计定时中断次数实现LED灯闪烁,这个例子同时也第一次展示了我最完整的实战程序框架:用switch语句实现状态机,外加定时中断。这个框架看似简单,实际上就是那...
-
开场白:上一节提到在累计主循环次数来实现计时,随着主函数里任务量的增加,为了保证延时时间的准确性,要不断修正设定上限阀值const_time_level 。我们该怎么...
-
开场白:上一节鸿哥提到delay()延时函数消耗的时间太长了,其它任务根本没有机会执行,我们该怎么改善?本节教大家利用累计主循环次数的方法来解决这个问题。这一节要教会...
-
开场白: 上一节鸿哥列出了初学者七大误区,到底什么才是初学者关注的核心?那就是裸机奔跑的程序结构。一个好的程序结构,本身就是一个微型的多任务操作系统。鸿哥...
-
之所以采用TLV5614是因为项目中需要用到4通道DA,TLV5614价格适中,资料也很多,SPI的接口操作起来也很简单。
调试过程中需要注意以下几点:
1、TLV5614是双...
-
一、AVRStudio 及WinAVR 简介
AVRStudio 是ATMEL 官方针对AVR 系列单片机推出的集成开发环境,它集开发调试于一体,有很好的用户界面,很好的稳定性。...
-
IAR语言扩展特性里有个##value##这种扩展语言特性,主要用于宏的实现。其中#号中间的value就是你传递进去的值。可以用来提高代码复用性。在编写CC2530的Timer3与...
-
开场白:上一节讲了按键双击触发功能的程序,这一节讲类似电脑键盘组合按键触发的功能,要教会大家一个知识点:如何在上一节的基础上,略作修改,就可以实现两个独立按键的组合按键触发功能。具...
-
编译的include文件目录
Compiler -》 Preprocessor-》include search path //include文件搜索路径$(Proj_d...
-
在CCS中新建项目是无需添加头文件,只要指定头文件的路径,编译c源文件时会自动将头文件加载到include文件夹。
设定头文件的具体方法是:buildO...
-
1、选择CPU类型(支持STM8S系列设备)
stm8s.h
...
/* Uncomment the line below ...
-
1 建立工程
Project>> New μVison Project。在弹出的“Select Device for Target ‘&...
-
看完了DJYOS以后想把它移植到自己手中的开发板中,开发板是原子的ALIENTEK,其实自己也想买一块论坛里讲到的板子,但是自己手上目前有一块,就没必要浪费MONEY了,这块板子是...
-
错误代码及错误信息 错误释义 error 1: Out of memory 内存溢出 error&n...
-
P3.2 P3.3接两个按键 中断INT0控制变量ledmod INT1控制变量tk,为什么按这两个按键都会改变ledmod的值呢?
include <STC...
-
开发板连接上Jlink后,SD卡或Nandflash启动U-boot, 运行后按空格使其停在uboot状态。
此步骤是调试裸机程序的捷径,u-boot程序里实现处理器的初始化工作...
-
开场白:上一节讲了先依次逐个亮再依次逐个灭的跑马灯程序。这一节在上一节的基础上,略作修改,继续讲跑马灯程序。我的跑马灯程序看似简单而且重复,其实蕴含着鸿哥的大智慧。它是基于鸿哥的s...
-
中断的产生背景
请设想这样一个场景:此刻我正在厨房用煤气烧一壶水,而烧开一壶水刚好需要 10 分钟,我是一个主体,烧水是一个目的,而且我只能时时刻刻在这里烧水,因为一旦水...
-
数码管的 8 个段,我们直接当成 8 个 LED 小灯来控制,那就是 a、b、c、d、e、f、g、dp 一共 8 个 LED 小灯。我们通过图 5-3 可以看出,如果点亮 b ...
-
了解了定时器相关的寄存器,那么我们下面就来做一个定时器的程序,巩固一下我们学到的内容。我们这节课的程序先使用定时器 0,在使用定时器的时候,需要以下几个步骤:
...