- 博客(37)
- 收藏
- 关注
原创 基于IMX6ULL_Pro音乐播放器 (四)
首先是开始音乐,传入音乐的路径,将其拼接为mplayer的命令字符串执行。start_music(char *music_path):开始音乐。将编译得到的mplayer可执行文件放到开发板的bin目录下。由于IMX6ULL_Pro只有耳机,需要插上耳机才能听见音乐。continue_music(void):继续播放音乐。pause_music(void):停止音乐。主要是获取屏幕坐标,在不同区域执行不同功能。exit_music(void):结束音乐。本质上都是操作mplayer的指令。
2024-11-04 15:44:29
566
原创 基于IMX6ULL_Pro音乐播放器 (三)
首先在文件夹下创建一个Image文件夹用于存放图片。定义图片路径如上,总共有5张图片。其本质就是像素点的划分,代码如下。本节完成电子相册的任务。
2024-11-03 11:19:23
264
原创 基于IMX6ULL_Pro音乐播放器 (四)
EV_ABS:代表绝对坐标事件(Absolute Event),用于描述触摸屏、鼠标等设备的绝对位置。EV_KEY:代表键盘按键事件(Key Event),用于描述按键的状态变化,例如按下或释放某个按钮。当手指坐标在ts_x>0 && ts_x0 && ts_y
2024-11-01 19:59:58
916
原创 基于IMX6ULL_Pro音乐播放器 (二)
重点集中于函数int show_bmp(const char *bmp_path)本片文章将讲解如何在屏幕显示图片。本文使用的屏幕分辨率为1024x600。BMP给像素通常用3个字节表示,分别是BGR,每个 char占用1个字节。跳过前54个字节,是应为BMP格式文件中,前54个字节包含了图片的头信息。为了显示图片,需要将BGR转成ARGB数据。首先,将图片读入,图片是bmp格式的图片。在循环中,使用 i 表示当前像素索引。
2024-10-31 16:32:54
374
原创 基于IMX6ULL_Pro音乐播放器 (一)
修改屏幕上某一个像素(x,y)颜色,首先需要找到其在Framebuffer里面的内存,其中需要确定像素是第几个。对应地址:(x,y)像素起始地址=fb_base+(xres*bpp/8)*y + x*bpp/8。Framebuffer是一块内存,把数据存进去,然后通过LCD控制器就能就行显示。坐标:(y*xres+x) 其中(xres表示x方向上的分辨率)通过ioctl动态读取屏幕的信息,存储在var里面。首先定义了三个函数,分别用于以下功能。通过open函数打开设备节点,为了显示指定的颜色,定义函数。
2024-10-30 20:17:00
478
原创 C++ Lambda表达式
&]:按引用捕获所有封闭范围内变量。[=]:按值捕获所有封闭范围内变量。变量捕获:访问修改函数外部变量。函数名 = [](){};
2024-10-30 09:48:01
136
原创 Effective Modern C++ (一)const
先看最简单的情况上面定义了一个常量a,不能被改变,将其赋值给b。其中b的值能被修改,但是a的值不能修改。解释:上面做的操作时将a的值给b。b和a是两个独立变量,存在不同的地址里面。(Copy)在编程中是指将一个对象或变量的值复制到另一个对象或变量的过程。
2024-10-15 21:31:58
194
原创 DSP 28733D (三)定时器
Period:定时器周期,单位us。Freq:定时器频率,单位MHz。加载执行文件,后缀名,out。Timer:定时器选择。
2024-02-21 20:17:12
289
原创 FreeRTOS笔记(六)临界段代码保护及任务调度器
FreeRTOS进入临界段代码,关闭中断,此时任务调度器也关闭,处理完后打开中断。临界段:必须完整执行,不能被打断。打断当前任务:中断;挂起任务调度器,中断仍工作。
2024-02-14 16:05:17
294
原创 FreeRTOS笔记(五)中断管理
在stm32中,分为抢占优先级和子优先级,涉及到一个寄存器的高四位,总共16级。现象:两个定时器每1s打印字符串,当关闭中断,停止打印,开中断持续打印。子优先级:抢占优先级相同的,子优先级数值小的先执行。在RreeRTOS中,x=4,全部用于抢占优先级。抢占优先级:抢占优先级高的可以打断抢占优先级低的。中断:打断正在执行的,转去执行更加紧急的。两个定时器,优先级一个为4,一个为6。4-x:4-x个bit用于子优先级。总共5中分配,0
2024-02-13 16:50:20
247
原创 STM32Cube使用(二)按键实验
主函数调用即可,实现按下key0则led0闪烁一次。按照之前一的教程配置SYS RCC和时钟树。将PF9 PF10配置为output。将PE2-PE4配置为input。
2024-01-25 16:59:11
590
原创 DSP 28733D (三)数码灯管
数码管是由一系列发光二极管构成的。安段数可以分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元,也就是多一个小数点(DP)。数码管内部连接方式有如下。
2024-01-22 21:24:41
504
原创 Altium Designer STM32F103C8T6 (二)
画电源部分,其中VDD为模拟电源,VDDA为数字电源,此处不做区分。继续在自己的库中添加元件。
2023-11-12 21:32:55
234
原创 Altium Designer STM32F103C8T6 (一)
双击Component,修改ID,绘制STM32F103C8T6的CPU。将文件保存到E:\PCBPro\STM32F103C8T6。点击文件--->新的--->项目--->PCB工程。图库放大缩小:按住鼠标滚轮,拖动鼠标移动。查看元器件,点击SCH Library。右侧0代表名称,上侧0代表第几号管脚。添加官方原理图库和PCB库到工程中。按住Tab键修改名称,自动排名。产看芯片手册,为48引脚。放置管脚,查看芯片手册。在画和电源有关的管脚。
2023-11-11 20:00:12
3150
1
原创 DSP 28733D (一)创建工程
选择“Target--->2837xD Delfino->TMS320F28377D”2837xD_FLASH_lnk_cpu1.cmd(烧写所用 CMD 文件)2837xD_RAM_lnk_cpu1.cmd(仿真所用 CMD 文件)注:100v3仿真器连接电脑两个灯都亮 连接开发板 开发板上电绿灯灭。点击“File -> New -> Project”添加三个文件夹cmd、include、 source。选择“C/C++--->CCS Project”复制官方资料cmd文件夹下内容,粘贴到工程中。
2023-10-30 22:09:15
313
1
原创 Opencv基础操作(一)读取图片、显示、保存
cv2.waitKey()键盘绑定函数,检测是否有按键按下。当参数为0时,无限等待键盘。练习加载一个灰度图,显示图片,按下’s’键保存后退出,或者按下ESC 键退出不保存。也可以先用cv2.namedWindow()创建窗口,在加载图片。使用函数cv2.imread()读取图片,包含两个参数。cv2.imshow()显示图片,包含两个参数。参数二:图片读入方式。首先是要保存图片的名称,其次是要保存的图片。参数一:读入图片文件名。参数一:显示图片窗口名。参数二:要显示的图片。
2023-01-10 22:06:19
480
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅