[TOC]
进程&线程
在昨天的实验里,电子相册无法跳出循环,因为:退出循环播放是判断按键==>获取用户的输入 ==>while(1)用户什么时候输入你知道吗?“死等”==>循环 播放是一个死循环.
所以需要“中断”,打断,做完之后再回到打断的地方继续执行。 并发,“同时”执行。
这就需要使用线程了.
进程和线程的区别: 进程是由线程组成的
线程的使用
pthread_create:创建一个线程的 当一个程序(静态)运行之后,我们称之为进程(动态)。
进程,会有一个主线程,就是main主函数。
所有的指令必须在函数中。一个进程的任务就是去执行main函 数,当main函数执行完之后进程结束了。 所以我们创建一个线程实际上是为了执行一个任务。
NAME pthread_create - create a new thread
SYNOPSIS #include <pthread.h>
int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void * (*start_routine) (void *), void *arg);
@thread:指针;线程会有一个线程ID,thread指向的区域 就是线程ID(正整数)。
@attr:线程属性,栈大小,分离属性….填NULL,默认。 不建议程序去更改。
@start_routine:函数指针,指向线程要去执行的线程函 数
@arg:需要传入线程函数的参数,如果为空,填NULL
返回值: On success, pthread_create() returns 0;
on error, it returns an error number,
and the contents of *thread are undefined. Compile and link with -pthread.
**编译和链接需要-pthread gcc 1.c -o 1 -pthread **
字符显示
字符显示
显示数据,需要把传感器的数据显示到开发板的屏幕上。
如果使一个变量(数字),LCD屏幕来显示字符。
字符显示的原理

显示一个字符,我们要知道它的字模。
获取字模:

练习&作业
作业要求:
-
开机页面:

-
广告页面:

-
主界面:

步骤拆分:
1. 设计开机界面:
- 打印背景图片"BGP"
- 显示文字:“Welcome to Use”
- 另起一行显示:“环境检测系统”
- 另起一行显示:“开发者:XXX”
点击进入广告页面
2.设计广告页面"ad_bmp"
- 广告显示
- 右上角:倒计时&X
- 结束进入主界面