智能生态系统自动化装置设计内容摘要:
ASK_PRIO 6 //设置任务堆栈大小 define MAIN_STK_SIZE 512 //任务堆栈, 8 字节对齐 __align(8) static OS_STK MAIN_TASK_STK[MAIN_STK_SIZE]。 //任务函数 void main_task(void *pdata)。 //串口监视任务 //设置任务优先级 define WATCH_TASK_PRIO 3 //设置任务堆栈大小 define WATCH_STK_SIZE 128 14 //任务堆栈, 8 字节对齐 __align(8) static OS_STK WATCH_TASK_STK[WATCH_STK_SIZE]。 //任务函数 void watch_task(void *pdata)。 //MP3 任务 //设置任务优先级 define MUSIC_PLAY_TASK_PRIO 2 //设置任务堆栈大小 define MUSIC_PLAY_STK_SIZE 256 //任务堆栈, 8 字节对齐 __align(8) static OS_STK MUSIC_PLAY_TASK_STK[MUSIC_PLAY_STK_SIZE]。 //任务函数 void music_play_task(void *pdata)。 ////////////////////////////////////////////////////////////////////////////// //外部内存测试 (最大支持 1M 字节内存测试 ) //返回值 :0,成功。 1,失败 . u8 system_exsram_test(u16 x,u16 y) { u32 i=0。 u16 temp=0。 u16 sval=0。 //在地址 0 读到的数据 LCD_ShowString(x,y,239,y+12,12,Ex Memory Test: 0KB)。 //每隔 1K 字节 ,写入一个数据 ,总共写入 1024 个数据 ,刚好是 1M 字节 for(i=0。 i1024*1024。 i+=1024) { FSMC_SRAM_WriteBuffer((u8*)amp。 temp,i,2)。 temp++。 } //依次读出之前写入的数据 ,进行校验 for(i=0。 i1024*1024。 i+=1024) { FSMC_SRAM_ReadBuffer((u8*)amp。 temp,i,2)。 if(i==0)sval=temp。 else if(temp=sval)break。 //后面读出的数据一定要比第一次读到的数据大 . LCD_ShowxNum(x+15*6,y,(u16)(tempsval+1),4,12,0)。 //显示内存容量 } if(i=1024*1024) { LCD_ShowxNum(x+15*6,y,i/1024,4,12,0)。 //显示内存值 return 0。 //内存正常 ,成功 } return 1。 //失败 } 15 //显示错误信息 //x,y:坐标 .err:错误信息 void system_error_show(u16 x,u16 y,u8*err) { POINT_COLOR=RED。 while(1) { LCD_ShowString(x,y,240,320,12,err)。 delay_ms(400)。 LCD_Fill(x,y,240,y+18,BLACK)。 delay_ms(100)。 LED0=!LED0。 } } //系统初始化 void system_init(void) { const u8 okoffset=162。 u16 ypos=0。 u16 j=0。 u16 temp=0。 u8 res。 u32 dtsize,dfsize。 u8 *stastr=0。 u8 *version=0。 u8 verbuf[12]。 NVIC_Configuration()。 delay_init(72)。 //延时初始化 uart_init(9600)。 //串口 1 初始化 LCD_Init()。 //LCD 初始化 LCD_PWM_Init()。 //初始化 LCD 背光亮度 LCD_BLPWM_VAL=200。 //设置为最亮 LED_Init()。 //LED 初始化 KEY_Init()。 //按键初始化 FSMC_SRAM_Init()。 //初始化 SRAM gui_init()。 Adc_Init()。 //ADC 初 始化 ,内部温度传感器 BEEP_Init()。 AT24CXX_Init()。 Audiosel_Init()。 Audiosel_Set(0)。 (72)。 mem_init(SRAMIN)。 //内部内存池初始化 version=mymalloc(SRAMIN,31)。 //申请 31 个字节内存 16 LCD_Clear(BLACK)。 //黑屏 POINT_COLOR=WHITE。 BACK_COLOR=BLACK。 j=0。 ///////////////////////////////////////////////////////////////////////// //显示版权信息 ypos=2。 app_show_mono_icos(5,ypos,18,24,(u8*)APP_ALIENTEK_ICO,YELLOW,BLACK)。 LCD_ShowString(28,ypos+12*j++,240,320,12, Intelligent Ecosystem)。 //智能生态系统 LCD_ShowString(28,ypos+12*j++,240,320,12,CIEE of JiLin University)。 LCD_ShowString(28,ypos+12*j++,240,320,12,Created by Our Team)。 sprintf((char*)verbuf,LCD ID:%04X,)。 //LCD ID 打印到 verbuf 里面 LCD_ShowString(5,ypos+12*j++,240,320,12, verbuf)。 //显示 LCD ID ////////////////////////////////////////////////////////////////////////// //开始硬件检测初始化 LCD_ShowString(5,ypos+12*j++,240,320,12, CPU:STM32F103ZET6 72Mhz)。 LCD_ShowString(5,ypos+12*j++,240,320,12, FLASH:512KB SRAM:64KB)。 if(system_exsram_test(5,ypos+12*j))system_error_show(5,ypos+12*j++,EX Memory Error!)。 LCD_ShowString(5+okoffset,ypos+12*j++,240,320,12,OK)。 mem_init(SRAMEX)。 //外部内存池的初始化必须放到内存检测之后。 SPI_Flash_Init()。 //W25Qxx 初始化 switch(SPI_FLASH_TYPE) { case W25Q80: temp=1*1024。 break。 case W25Q16: temp=2*1024。 break。 case W25Q32: temp=4*1024。 break。 case W25Q64: temp=8*1024。 break。 default : system_error_show(5,ypos+12*j++,Ex Flash Error!!)。 break。 } LCD_ShowString(5,ypos+12*j,240,320,12, Ex Flash: KB)。 LCD_ShowxNum(5+9*6,ypos+12*j,temp,4,12,0)。 //显示 flash 大小 LCD_ShowString(5+okoffset,ypos+12*j++,240,320,12, OK)。 17 LCD_ShowString(5,ypos+12*j,240,320,12, FATFS Check...)。 //FATFS 检测 if(exfuns_init())system_error_show(5,ypos+12*(j+1),FATFS Memory Error!)。 //内存分配 f_mount(0,fs[0])。 //挂载 SD 卡 f_mount(1,fs[1])。 //挂载 FLASH. LCD_ShowString(5+okoffset,ypos+12*j++,240,320,12, OK)。 //SD 卡检测 LCD_ShowString(5,ypos+12*j,240,320,12, SD Card: MB)。 //FATFS 检测 temp=0。 do { temp++。 res=exf_getfree(0:,amp。 dtsize,amp。 dfsize)。 //得到 SD 卡剩余容量和总容量 delay_ms(200)。 }while(resamp。 amp。 temp5)。 //连续检测 5 次 if(res==0)//得到容量正常 { temp=dtsize10。 //单位转换为 MB stastr=OK。 }else { temp=0。 //出错了 ,单位为 0 stastr=ERROR。 } LCD_ShowxNum(5+8*6,ypos+12*j,temp,5,12,0)。 //显示 SD 卡容量大小 LCD_ShowString(5+okoffset,ypos+12*j++,240,320,12,stastr)。 //SD 卡状态 //W25Q64 检测 ,如果不存在文件系统 ,则先创建 . temp=0。 do { temp++。 res=exf_getfree(1:,amp。 dtsize,amp。 dfsize)。 //得到 FLASH 剩余容量和总容量 delay_ms(200)。 }while(resamp。 amp。 temp20)。 //连续检测 20 次 if(res==0X0D)/。智能生态系统自动化装置设计
相关推荐
高,而且工艺复杂,分辨率低。 频率合成技术在电子设计中占有重要的地位。 它的发展经历了三个阶段。 首先被实际应用的技术是直接频率合成技术。 直接频率合成技术具备许多优点,如频率范围宽、转换时间短,但是其硬件结构太复杂、设备庞大、成本高,而且难以采取有效措施抑制其输出的谐波、噪声以及寄生频率 [10]。 随后进入应用的是锁相频率合成技术 [14]。
id title(39。 要逼近的非线性函数 39。 )。 xlabel(39。 时间 39。 )。 ylabel(39。 非线性函数 39。 )。 %建立相应的 BP网络 = newff(minmax(t),[10,1],{39。 tansig39。 39。 purelin39。 },39。 trainlm39。 )。 %对没有训练的网络进行仿真 y1 = sim(,t)。
后三个量比较后取中间值作为我们要处理的信号。 图 水温测量电路 显示电路 ( 1) 方案的提出 方案一:静态显示 湖南工业大学科技学院毕业设计(论文) 9 方案二:采用动态扫描法并行输出数据 方案三:采用动态扫描法串行输出数据 ( 2) 方案的比较 方案一所谓的静态显示就是对 LED 电子显示屏中的每一象素点都通过硬件单独控制,整个 LED 显示屏所有的 LED 的同时显示。
拥有完美空气环境。 厨房和餐厅 现代家居的厨房空间有许多不同的电器设备,因此需要合适的电气配 件来确保所有的电器能够正常且安全的使用。 羽威智能家居系统,帮助您实现厨房和餐厅设备的便捷与安全。 上海羽威电子科技有限 公司 联系人:周士威 手机: 13776028531 : 754777076 Email: 第 11 页 共 28 页 产品应用推荐 物联无线智能插座 厨房多样的电器
图 21 PRIMETON BPS 产品结构图 第 8 页 共 22 页 BPS Process Server BPS Process Server( BPS 流程 引擎 ) 基于 J2EE Server 构建,是 Primeton BPSTM 的核心 , 负责解析业务流程定义,协调处理活动间的路由,处理客户端的请求(如启动流程、提交工作项、查询工作项 、 流程 监控等)