灵动微电子 MM32EVBL0136
分享作者:F888
评测品牌:灵动微电子
评测型号:MM32EVBL0136
申请理由(产品应用):学习评测mm32,提高自我能力
发布时间:2024-10-20 15:38:41
4 0
前言
开源口碑分享内容
一、介绍
拆快递之时,板卡之盒有二,一为外iCEasy商城之盒,其内专为板卡所设之盒。板卡藏于静电袋中,固若金汤,得以良好保护。启静电袋,则板卡之真容毕现。此板卡资源颇丰,其主芯片乃灵动微之MM32L0136,采用M0+内核,最高工作频率可达48MHz,内含64KB Flash与8KB SRAM,且内置段码式液晶驱动SLCD。其接口丰富,有二个UART接口、一LPUART接口、二个SPI接口、二个I2S接口及一I2C接口,工作电压介于1.8V至5.5V之间,适合锂电池供电。板卡之硬件资源包括一段码屏、一片8Mbit之SPI Flash存储器、一片2048bit之I2C存储器、三只模拟输入电位器,以及LED、按键与音频输出等其他硬件,GPIO通过板卡两侧之排针悉数引出。此乃板卡之全貌也。
二、小项目介绍
使用它作为主控与WiFi模块通讯将采集到的温湿度发到云平台,同时利用云平台控制板载的LED灯。
1、系统框图
2、部分代码讲解
下面的代码主要就是接收云平台反馈过来的信息,这边主要就是用了c库里面的字符串比较函数,通过比较两个字符串来判断是不是云平台反馈过来的数据,然后通过一个字符串数组检测特定的字符来控制LED灯的远程控制。里面注释的函数他的功能函数被我给删掉了,在源代码里面是看不到的,交给后来的人自己去弄,主要就是利用esp8266连接Ntp服务器获取网络时间,然后把网络的时间。给到板子里面的Rtc。从而实现自动对时,rtc初始化那部分的函数被我给删掉了有能力的伙伴可以自己去移植官方库。(ps:代码链接 密码:iceasy )
void CommandAnalyse(void)
{
//int moons=1;
if(strncmp(RECS,"+MQTTSUBRECV:0,\"/sys/a1q2MQnS01b/jnlYEvjI9QCA4yOEuPBa/thing/service/property/set\"",81)==0)
{//+MQTTSUBRECV:0,"/sys/a1q2MQnS01b/jnlYEvjI9QCA4yOEuPBa/thing/service/property/set"
uint8_t i=0;
while(RECS[i++] != '\0')
{
if(strncmp((RECS+i),f1,3)==0)
{
while(RECS[i++] != ':');
ONOFF_LED=RECS[i]-'0';
}
//ClockBKP_Write();//+CIPSNTPTIME:
}
}
else if(strncmp(RECS,"+CIPSNTPTIME:",13)==0)
{
// uint8_t k=0;
// while(RECS[k++] != '\0')
// {
// Time_buff[k-1]=RECS[k];
// if(k>=37)
// {MyRTC_Time[0]=(Time_buff[32]- '0')*1000+(Time_buff[33]- '0')*100+(Time_buff[34]- '0')*10+(Time_buff[35]- '0');//
// moons = getMonth(Time_buff[16], Time_buff[17], Time_buff[18]);
// MyRTC_Time[1]=moons;//月
// MyRTC_Time[2] = (Time_buff[20] - '0') * 10 + (Time_buff[21] - '0'); //日
// MyRTC_Time[3] = (Time_buff[23] - '0') * 10 + (Time_buff[24] - '0'); //时
// MyRTC_Time[4] = (Time_buff[26] - '0') * 10 + (Time_buff[27] - '0'); //min
// MyRTC_Time[5] = (Time_buff[29] - '0') * 10 + (Time_buff[30] - '0')+1; //sec
// MyRTC_SetTime();
// break;
// }
// }
}
}
三、演示视频
全部评论

暂无评论

0/144