说明一下:选用了iic驱动方式,硬件连接scl、sdain和sdaout引脚,
也就是说有应答检测是从sdaout引脚返回给mcu的。
硬件平台:微控制器选择gd32f103
pca8538评估板
红外遥控器
并使用红外遥控器进行控制
锐鑫同创提供的示例十分丰富,注释清晰,移植太方便了。
iic,rtc,ds18b20等驱动完全都不用改,项目完成很顺利。
核心代码部分分析:
主循环里 if(now!=timer.sec){}中每秒进行温度和时间更新。
if(remote_rdy){}检测遥控器发出的指令并执行。
pca8538_time();参数较多,大家可以详细看一下,实现温度和时间同时显示,有点复杂
(相对于寄存器“冲突”情况)
while(1)
{
if(power_flag == 1)
{
if(now!=timer.sec)
{
now=timer.sec;
temp = ds18b20_get_temp();
printf(t1:%dn,temp);
temp_high = (temp/100);
temp_low = (temp/10-(temp/100*10));
pca8538_time(temp_high,temp_low,timer.hour/10,timer.hour%10,timer.min/10,timer.min%10);
led0 = !led0;
}
}
if(remote_rdy)
{
key=remote_process();
switch(key)
{
case button_power:
pca8538_power();
power_flag=1;
ice_num=0;
break;
case button_1:
if(flag == 0)
{
pca8538_auto(1);
flag = 1;
}
else
{
pca8538_auto(0);
flag = 0;
}
break;
case button_2:
ice_num++;
if(ice_num>=4)
{
ice_num=1;
}
pca8538_num(ice_num);
break;
case button_3:
if(flag_light == 0)
{
pca8538_light(1);
flag_light = 1;
}
else
{
pca8538_light(0);
flag_light = 0;
}
break;
case button_4:
pca8538_clear();
power_flag=0;
break;
default:
break;
}
}
}
OppoFindX评测 只要美得举世无双就可以为所欲为
PCB设计时组件放置方法和有用的功能
常见的变速器有哪些 变速器带式与链式传动的差异
Google的 Chrome OS商用版将在2011年发布
土壤养分检测仪的原理
基于GD32的段码显示器设计
一级和二级的浪涌保护器有什么区别
联发科推出NeuroPilot AI平台 将终端人工智能带入各种跨平台设备
航锦科技借并购进军IC领域 暗藏什么样的猫腻
应用在开关模式电源中的光耦合器
国内高防服务器IDC选择哪种比较好
泛在电力物联网可以照搬电网建设的模型吗
流量传感器的测量方式选择
英伟达安培GPU规格遭泄密
2009年全球芯片业遭遇重创
小米和台积电达成协议,澎湃S2就在不远处
宝马和Vector联手发布了一个特别版智能手表
为避免中方否定NVIDIA收购ARM,NVIDIA将与戴尔合作研发AI芯片
从传统媒体到“全媒体”时代
中兴通讯:网络植入算力,激发5G网络更大价值