基于STM32实验开发板的设计编程.docx

上传人:王** 文档编号:1133284 上传时间:2024-04-02 格式:DOCX 页数:22 大小:185.62KB
下载 相关 举报
基于STM32实验开发板的设计编程.docx_第1页
第1页 / 共22页
基于STM32实验开发板的设计编程.docx_第2页
第2页 / 共22页
基于STM32实验开发板的设计编程.docx_第3页
第3页 / 共22页
基于STM32实验开发板的设计编程.docx_第4页
第4页 / 共22页
基于STM32实验开发板的设计编程.docx_第5页
第5页 / 共22页
基于STM32实验开发板的设计编程.docx_第6页
第6页 / 共22页
基于STM32实验开发板的设计编程.docx_第7页
第7页 / 共22页
基于STM32实验开发板的设计编程.docx_第8页
第8页 / 共22页
基于STM32实验开发板的设计编程.docx_第9页
第9页 / 共22页
基于STM32实验开发板的设计编程.docx_第10页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于STM32实验开发板的设计编程.docx》由会员分享,可在线阅读,更多相关《基于STM32实验开发板的设计编程.docx(22页珍藏版)》请在优知文库上搜索。

1、嵌入式应用技术实验课基于STM32实验开发板的设计编程目录实验一线程控制小灯轮闪31.1 实验目的31.2 实验设备与器材31.3 实验内容31.4 问答题51.5 实验心得5实验二基于事件的开关控制小灯闪烁62.1 实验目的62.2 实验设备与器材62.3 实验内容62.4 问答题82.5 实验心得9实验三基于消息队列的时钟显示IO3.1 实验目的IO3.2 实验设备与器材103.3 实验内容103.4 问答题Il3.5 实验心得12实验四基于信号量的ADC温度测量显示134.1 验目的134.2 实验设备与器材134.3 实验内容134.4 问答题144.5 实验心得15实验五基于互斥量的

2、学生信息显示165.1 实验目的165.2 实验设备与器材165.3 实验内容165.4 问答题175.5 实验心得18实验六基于RT-Thread的小区停车模拟管理系统196.1 实验目的196.2 实验设备与器材196.3 实验内容196.4 实验心得23实验一线程控制小灯轮闪1.1 实验目的(1)理解线程的含义、应用场合以及常用函数。(2)掌握线程的编程步骤。(3)创建一个新的线程,该线程通过引脚对小灯进行控制1.2 实验设备与器材电脑,AHL-STM32L431-WiFi核心板及其扩展板,导线,发光二极管,IOK电阻,万用表等1.3 实验内容用线程完成对三个小灯不断循环轮流显示3毫秒(

3、1)主函数体,创建线程和初始化变量后启动线程Sincludeincludes,h*voidapp_init(void)rt_thread_tthd.redlight.rt_thread_tthd_greenlight;rt_thread_tthd.bluelight;DISABLENTERRCpTS:printf(*川IPiJinit陶故.分别M始化红灯、纭灯、收灯rn):gpio_init(LIGHT_RED.GPIO,OCTPVT.LIGHT_OFF).gpio_init(LIGHT_GREEX.GPIO.OUTPUT,LIGHT_OFF)gpio,init(LIGHT.BLIE.GPIO

4、.OCTPVT,LIGHT.OFF):ENABLE.INTERRUPTS;thd_redlight=rt_thread_create(redlght,(void*)thread_redlight,0.512.10.10):thd_greenlight=rt_thread_createthread_greenlight.0.512.10.10):thd_bluelight=rt_thread_create(biue1ight,(void)thread-bluelight.0.512.10.10);rt_thread_startupthd_redlight)delay-as3000).rt_thr

5、ead_startup(thd_greenlight):delay-三s,3000):rt_thread_startup(thd_bluelight):(2)线程部分,完成每个线程不断循环/函数名称: /函数返网, 参数说明, 功能概要, 内部调用, /=run_redlight无无每3秒红灯反转无voidthread_redlight()gpio_init(LIGHT_RED.GPlOaPUTLIGHTJ)FF);while(l)gpio-reverse(LIGHT_RED);delay_ms(3000):/延时3杪gpio_reverse(LIGHT_RED);delay_ms(6000)

6、;PrintfmJ!rn*);函数名称:run_bIuelight函数返回,无参数说明,无功能概要:每3杪蓝灯反转内部调用,无/=voidthread_bluelight()(gpio_init(LIGHT_BLUE,GPIoJ)UTPSLIGHLoFF);while(l)gpio_reverse(LIGHT_BLUE);delay_ms3000:延时3杪gpio_reverse(LIGHT_BLUE);delay_ms(6000);printf(*蓝灯也变i!rn);)voidthread_greenlight()函数名称: /函数返网, 参数说明: /功能概要: /内部调用, /=run_

7、greenlight无无每1杪绿灯反转无gpio_init(LIGHT_GREEX.GPIO_OUTPUT,LIGHT_OFF):while(l)gpio_reverse(LIGHT_GREEN);delay_ms(3000);一完3杪gpio_reverse(LIGHT_GREEN);delay_ms(6000);灭6杪printf(.1r1.jili!rn*);(3)运行效果1.4 问答题(1)动态线程创建的具体在哪条语句上实现的。答:thd_redlight=rt_thread_crcate(redlight,(void*)thread-redlight,0,512,10,10);thd

8、_greenlight=rt_thread_create(greenlight,(void*)thread_greenlight,0,512,10,10);thd-b!uelight=rt-thread-create(,bluelight,(void*)thread_bluelight,0,512,10,10);(2)线程启动是否分动态和静态,具体实现在哪条语句上实现的。答:分,由rt_thread_create语句实现动态线程创建.1.5 实验心得通过本次实验对线程有了基础的概念,对于运行RrThread操作系统,线程都处于以下五种状态的其中一种(初始状态、就绪状态、运行状态、挂起状态、关闭

9、状态),掌握了调用操作系统提供的接口函数,使线程在这五种状态中进行来回切换。实验二基于事件的开关控制小灯闪烁2.1 实验目的(1)理解事件的含义、应用场合以及常用函数。(2)掌握事件的编程步骤。(3)基于操作系统的线程和中断,用事件同步功能完成一个开关控制一个小灯的亮暗2.2 实验设备与器材电脑,AHL-STM32L431-WiFi核心板及其扩展板,导线,发光二极管,开关按钮,IOK电阻,万用表等2.3 实验内容用事件完成对小灯的控制,输入。小灯亮,输入1小灯灭(1)主函数体对于事件字和线程的创建以及启动include-includes,hvoidapp_init(void)rt_thread

10、_tthd_redlight;Disablejnterwjpts:gpio.init(LIGHT-RED.GPIO.OUTPUT,LIGHT.OFF):gpio_init(SWITCH_CTRL,GPIO_INPUT,0);gpio_pull(SWITCH_CTRL.PULL_UP):gpio_enable_int(SIITCH_CTRL.RISING_EDGE):uart_init(UART_User,115200):uart_enab1e_re_int(UART_User):ENABLE_INTERRUPTS;创建M件字Eventlord=rt_event_create(EventWord

11、.RT_IPCFLAG_PRIO):创建:色灯任程thd_redlight=rt_thread_create(redlight*,(void)thread-redlight.0.512.10.10)rt_thread_startup(thd.redlight):普动红灯线样(2)中断函数和组帧函数Sincludeincludes,huint8_tJrecvDate20:;口接收,:在政纲uint8-tCreateFrane(uint8-tData,uint8-t*buffer):H帧决数出明程序名称,UARTVserHandler触发条件IUART.User11Jfl一个字灯触发备注,进入本程

12、序后可使用Uarjgejre_int函数可再进行中断标志判断,WHj;1Arnrt_event_sendEventlord.LIGHT-ON;(elseuart_send_string(VART_User.(void)RhdJhr=Ufl1rnrt_event_send(Eventlord.LIGHTOFF);)ENABLE.INTERRUPTS:升息中断(3)红灯线程voidthread.redIighUuint32,trecvedstat;uart_send_string(UART_User.lvod,n,rt.eventrecv,k.r,l,.I,irn,:gpio_setuart-sndstring(UART-lser.(void*,:k,.,it1h,.1,rn);gpio_setLIGHT.RED.LIGKLoFF).殳转红灯(4)运行效果发送0,红灯亮。发送1,红灯暗接收1据设宇汽形式J十进制形式留口设串口选捺Wrt(一发送敷据;波特率选择无校蛉,8位数据位,】位停止位谪“入字符串!MiI W (V2.0) SD Armajfia关闭串口十六进制影式SUgAaaaaaaaaaaaaaaWWWWW lllFA串口号、浪特里:CO)E、115200发送数据设选珏发送方式字万的R口选捺

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 嵌入式开发

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!