综合测试实验

所属分类:其他
开发工具:C/C++
文件大小:68795KB
下载次数:0
上传日期:2020-12-10 19:45:20
上 传 者穷角色
说明:  对stm32单片机所有的外设已经内设做了一个完整的开发
(All the peripherals of STM32 MCU have been developed completely)

文件列表:
综合测试实验 (0, 2020-12-10)
综合测试实验\APP (0, 2020-12-10)
综合测试实验\APP\appplay.c (9355, 2015-03-20)
综合测试实验\APP\appplay.h (1420, 2015-03-20)
综合测试实验\APP\appplay_gyro.c (7968, 2015-08-15)
综合测试实验\APP\appplay_gyro.h (708, 2015-03-20)
综合测试实验\APP\appplay_remote.c (4319, 2015-03-20)
综合测试实验\APP\appplay_remote.h (754, 2015-03-20)
综合测试实验\APP\appplay_wlvideo.c (258, 2014-08-07)
综合测试实验\APP\appplay_wlvideo.h (144, 2014-08-05)
综合测试实验\APP\audioplay.c (30670, 2020-11-10)
综合测试实验\APP\audioplay.h (3569, 2020-10-14)
综合测试实验\APP\calculator.c (23451, 2015-03-20)
综合测试实验\APP\calculator.h (1853, 2015-03-20)
综合测试实验\APP\calendar.c (14759, 2015-03-20)
综合测试实验\APP\calendar.h (1821, 2020-10-14)
综合测试实验\APP\camera.c (8648, 2015-03-21)
综合测试实验\APP\camera.h (626, 2012-10-03)
综合测试实验\APP\common.c (41442, 2020-06-16)
综合测试实验\APP\common.h (6105, 2020-06-16)
综合测试实验\APP\ebook.c (6357, 2020-06-16)
综合测试实验\APP\ebook.h (688, 2015-03-20)
综合测试实验\APP\exeplay.c (6550, 2020-10-13)
综合测试实验\APP\exeplay.h (1852, 2015-03-26)
综合测试实验\APP\lyric.c (6958, 2015-03-20)
综合测试实验\APP\lyric.h (2023, 2015-03-20)
综合测试实验\APP\nesplay.c (6701, 2015-08-15)
综合测试实验\APP\nesplay.h (825, 2015-03-20)
综合测试实验\APP\netplay.c (31378, 2015-03-20)
综合测试实验\APP\netplay.h (1666, 2015-03-20)
综合测试实验\APP\notepad.c (8545, 2020-11-19)
综合测试实验\APP\notepad.h (885, 2015-03-20)
综合测试实验\APP\paint.c (16940, 2015-03-26)
综合测试实验\APP\paint.h (1338, 2015-03-20)
综合测试实验\APP\phoneplay.c (24370, 2015-05-14)
综合测试实验\APP\phoneplay.h (1729, 2015-03-20)
综合测试实验\APP\picviewer.c (6597, 2015-03-20)
综合测试实验\APP\picviewer.h (759, 2015-03-20)
综合测试实验\APP\recorder.c (21147, 2015-08-15)
综合测试实验\APP\recorder.h (3377, 2015-03-20)
... ...

实验器材: 战舰STM32F103开发板V3版本 实验目的: 综合测试实验,测试整个开发板硬件,体验STM32强大的功能. 硬件资源: 1,DS0(连接在PB5),DS1(连接在PE5) 2,蜂鸣器(连接在PB8) 3,按键KEY0(PE4)/KEY1(PE3)/KEY2(PE2)/KEY_UP(PA0,也称之为WK_UP) 4,外部SRAM(IS62WV51216,通过FSMC驱动,FSMC_NE3接SRAM) 5,串口1(波特率:115200,PA9/PA10连接在板载USB转串口芯片CH340上面) 6,串口3(波特率:115200,PB10/PB11) 7,ALIENTEK 2.8/3.5/4.3/7寸TFTLCD模块(通过FSMC驱动,FSMC_NE4接LCD片选/A10接RS) 8,TPAD电容触摸按键(右下角LOGO,即TPAD,连接在PA1) 9,定时器TIM2~TIM8 10,RTC(实时时钟) 11,ADC(读取内部温度传感器) 12,VS1053(音乐播放/NES游戏/录音机实验) 13,光敏传感器(连接在PF8) 14,24C02(IIC连接在PB6/PB7上面) 15,W25Q128(SPI FLASH芯片,连接在SPI2上) 16,触摸屏(TFTLCD模块自带了,IO状态为:T_PEN(PF10)/T_MOSI(PF9)/T_MISO(PB2)/T_SCK(PB1)/T_CS(PF11)) 17,9针FC游戏手柄(CLK接PD3,DAT接PB10,LAT接PB11) 18,DS18B20传感器一个(接在PG11上). 19,ALIENTEK MPU6050模块一个(连接在PB10(SCL),PB11(SDA),PA15(AD0)上面,INT未用到). 20,NRF24L01模块(SPI2(PB13/PB14/PB15)/IRQ(PG6)/CS(PG7)/CE(PG8)). 21,ALIENTEK OV7670摄像头模块 22,USB_SLAVE接口(通过跳线帽将D-/D+连接在PA11/PA12上) 23,DM9000(通过FSMC驱动,FSMC_NE2接DM9000) 24,SD卡,通过SDIO(SDIO_D0~D4(PC8~PC11),SDIO_SCK(PC12),SDIO_CMD(PD2))连接 25,HS0038红外接收头 26,板载咪头(录音/TOM猫) 27,板载喇叭(播放音乐/NES游戏/TOM猫) 28,ALIENTEK SIM900/SIM900A GSM模块(电话/短信) 实验现象: 本实验功能比较复杂,具体介绍请参考《STM32开发指南》V3版本,第五十九章。 注意事项: 1,4.3寸和7寸屏需要比较大电流,USB供电可能不足,请用外部电源适配器(推荐外接12V 1A电源). 2,本例程在LCD_Init函数里面(在ILI93xx.c),用到了printf,如果不初始化串口1,将导致液晶无法显示!! 3,本例程需自备配件(非必须)包括: a,SD卡 b,ALIENTEK OV7670摄像头模块 c,ALIENTEK MPU6050模块 d,ALIENTEK GSM/GPRS模块 e,DS18B20数字温度传感器 f,NRF24L01无线模块 g,耳机 4,按RESET复位进入开机界面(自检界面)后,迅速按以下按键: 按住KEY0不放:可以强制进入校准界面,对触摸屏进行校准(仅限电阻屏,对电容屏无效). 按住KEY1不放:可以强制进入字库更新,更新字库. 按住KEY2不放:可以强制擦除整个SPI FLASH,方便使用SD卡快速更新系统文件. ---提示:按住KEY0~KEY2是要一直按住,并耐心等待.直到进入相应界面/出现提示. 5,照相机功能,按KEY_UP按键可以进行照相. 6,在音乐播放器界面,调节的音量不会自动保存,在设置界面设置好音量,并退回主界面,才会保存. 7,P8端口,跳线帽默认连接方式为:PB10(TX)连COM3_RX,PB11(RX)连COM3_TX. 8,P10端口(多功能端口),默认用跳线帽连接:ADC和TPAD. 9,P4端口,跳线帽连接方式为:PA9(T)连RXD,PA10(R)连TXD. 11,P9端口,跳线帽连接方式为:PA11连D-,PA12连D+. 12,无线传书功能,需要2套开发板才可以测试. 内存管理: 1.设置内存池 实际的内存大小(Size) 2.设置内存块 为32字节(Byte) 3.设置内存管理表 =Size/Byte 设置内存: mymemset(void *s,u8 c,u32 count) 内存分配: my_mem_malloc(u8 memx,u32 size) 释放内存(内部调用) my_mem_free(u8 memx,u32 offset) 复制内存: mymemcpy(void *des,void *src,u32 n) /*内存管理初始化 //memx:所属内存块*/ void my_mem_init(u8 memx) { mymemset(mallco_dev.memmap[memx], 0,memtblsize[memx]*2);//内存状态表数据清零 mymemset(mallco_dev.membase[memx], 0,memsize[memx]); //内存池所有数据清零 mallco_dev.memrdy[memx]=1; //内存管理初始化OK } 获取内存使用率 my_mem_perused(u8 memx) FATFS diskio.c底层驱动 ff.c中间FATFS模块 文件系统层和文件系统的API层 exfun.c SD卡 fatterster.c 磁盘 mycc936.c是字库Bin,Unicode, OEMCP(GBK)转换 TEXT fontupa.c是存放字库 text.c void Get_HzMat(unsigned char *code,unsigned char *mat,u8 size); //得到汉字的点阵码 void Show_Font(u16 x,u16 y,u8 *font,u8 size,u8 mode); //在指定位置显示一个汉字 void Show_Str(u16 x,u16 y,u16 width,u16 height,u8*str,u8 size,u8 mode); //在指定位置显示一个字符串 void Show_Str_Mid(u16 x,u16 y,u8*str,u8 size,u8 len); PICTURE 四种图片格式bmp.c,gif.c,piclib.c,tjpgd.c GUI 图形界面系统 UCOSII ucosii操作系统 start_task下创建了3个任务,main_task,usart_task,watch_task main_task(APP任务) 界面上的APP处理 spb_init(); //初始化SPB界面 spb_load_mui(); //加载SPB主界面 slcd_frame_show(0); //显示界面 usart_task处理闹铃报警,开店显示,蜂鸣器 watch_task(监视任务),闹铃处理,gif解码,TPAD扫描,查询SD卡状态,来电/短信 监测 START_TASK_PRIO 10 *** 数字越小,优先级越高, USART_TASK_PRIO 7 128 MAIN_TASK_PRIO 6 1000 WATCH_TASK_PRIO 3 256 信息量: 像一把钥匙,任务要运行下去,需先拿到这把钥匙,信号量的建立必须是在任务级中建立(开始任务中),OSFlagCreate(0,&err)(信号量集) 邮箱:是一个 指针型变量,量的建立必须是在任务级中建立(开始任务中),OSMboxCreate((void*)0) 消息队列:实际上是邮箱阵列 OSQCreate(&MsgGrp[0],256)

近期下载者

相关文件


收藏者