有四个相关的源文件。你可以找到他们作为附件。我添加了Makefile以及。Makefile配置µ你可以调整你的选择控制单元。
-
主。C(主回路和初始化)
-
主。H(所有的定义和设置)
-
中断。C(中断运行时)
-
功能。C(功能;)
的主要特点是外包给中断运行时节约能源。你可以把µC睡觉。
主要的C。
这是主回路。主。C配置端口,中断和接口,需要直接进入主循环。
// === LED timing diagram rear ===
//
// Time segments
// |00|01|02|03|04|05|06|07|08|09|10|11|
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// 01| | | | | | | | |##|##|##|##|
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// 02| | | | | | | |##|##|##|##| |
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// L 03| | | | | | |##|##|##|##| | |
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// 04| | | | | |##|##|##|##| | | |
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// E 05| | | | |##|##|##|##| | | | |
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// 06| | | |##|##|##|##| | | | | |
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// D 07| | |##|##|##|##| | | | | | |
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// 08| |##|##|##|##| | | | | | | |
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// S 09|##|##|##|##| | | | | | | | |
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// 10|##|##|##| | | | | | | | |##|
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// 11|##|##| | | | | | | | |##|##|
// --+--+--+--+--+--+--+--+--+--+--+--+--+
// 12|##| | | | | | | | |##|##|##|
// --+--+--+--+--+--+--+--+--+--+--+--+--+
#include "main.h" //Import all needed defines, makros, libraries, global variables
//=== Receiver ===
#define F_CPU 8000000UL
#include <avr/io.h>
#include <util/delay.h>
#include "rf12.c"
int main(void)
{
unsigned char chr = '1';
vTIMER0_ini(); //Initialize ans start timer 0 (overflow after 8*0.064ms), 8bit timer, prescaler 8, interrupt enable, no preload
vPORTS_ini(); //Initialize all ports for LED usage
vINT0_ini(); //Initialize external interrupt 0 (int0)
sei(); //Global interrupt enable on
rf12_init();
while(1) //Endless loop
{
rf12_rxdata(&chr, 1);
if (chr == '1')
{
switche_on = 1;
}
if (chr == '0')
{
switche_on = 0;
}
}
}
(责任编辑:admin)