标题:
关于可任意拼接的开源模块化单片机开发系统设计的问卷
[打印本页]
作者:
jerry_fuyi
时间:
2019-1-25 15:28
标题:
关于可任意拼接的开源模块化单片机开发系统设计的问卷
我正在设计一个开源的模块化单片机开发系统,特点在于模块之间任意拼接,以及实现了事件机制(具体见问卷)
烦请各位做一下问卷,并希望大家提一些意见或建议
问卷:
作者:
jerry_fuyi
时间:
2019-1-25 17:13
举个例子吧,运用这个系统可以做到:
读取一排8个按键,16*8点阵屏滚动显示,一排LED作音量条,蜂鸣器发声,几个RGB灯随机颜色
视频没法传,就只放代码了
单片机是AVR,型号ATmega16A
#include <avr/io.h>
#define LISTENER_ENABLE
#include "mmds_led.h"
#include "mmds_rgb.h"
#include "mmds_mat.h"
#include "mmds_bzr.h"
#include "mmds_btn.h"
uint8_t append_value = 0;
void listener(void) {
static uint16_t freq[] = {DO_M, RE_M, MI_M, FA_M, SOL_M, LA_M, SI_M, DO_H};
switch(data_temp[1]) {
case 0x00:
append_value = 1 << (7 - data_temp[2]);
BZR_set_freq(0x30, freq[data_temp[2]]);
LED_rise(0x20);
RGB_set_digital(0x22, get_random(1, 63));
break;
case 0x02:
BZR_clear(0x30);
LED_fall(0x20);
RGB_clear_all(0x22);
append_value = 0;
}
}
int main(void) {
I2C_init(0x10, I2C_FAST);
listener_init();
BTN_set_address(0x40);
BTN_set_listener(0x40, BTN_STANTARD, &listener);
enable_listeners();
while(1) {
delay_ms(40);
MAT_append(0x24, append_value);
}
}
复制代码
作者:
jerry_fuyi
时间:
2019-1-25 17:13
相关链接:
http://forum.eepw.com.cn/thread/302863/1
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1