综合测试实验
所属分类:其他
开发工具: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)
近期下载者:
相关文件:
收藏者: