半导体器件总结
...
电机驱动
电机驱动直流电机一般是通过H桥电路来驱动的,市面上的电机驱动模块可以分为2种: 基于集成电机驱动芯片(内部自带H桥电路)的电机驱动:TB6612、L298n 这种电机驱动的电路比较简单,但由于H桥集成在了芯片内部,所以支持的电机最大电流较小 栅极驱动IC +...
Makefile分析
Makefile分析1.rule.mk12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152# This file will be included by the build.mk.CROSS_COMPILE = riscv64-unknown-elf-CFLAGS = -nostdlib -fno-builtin -march=rv32g -mabi=ilp32 -g -WallQEMU = qemu-system-riscv32# 不使用图形界面、一个核、虚拟平台、不用biosQFLAGS = -nographic -smp 1 -machine virt -bios noneGDB = gdb-multiarchCC = ${CROSS_COMPILE}gccOBJCOPY = ${CROSS_COMPILE}objcopyOBJDUMP =...
ESP8266
ESP82661.ESP8266的工作模式ESP8266为一个WiFi透传模块,和蓝牙透传模块具有主从两种工作模式一样,也具有两种工作模式:STA模式(Station)和AP模式(Access Point),一般WiFi模块还会有一个STA+AP模式,即可以在两种模式下切换的状态。(1)AP模式下,相当于无线局域网中的基站。WiFi模块产生热点,提供无线接入服务,允许其它无线设备接入,提供数据访问,一般的无线路由/网桥工作在该模式下。该模式对应TCP传输协议中的服务端(TCP Server)。(2)STA模式下,相当于无线局域网中的移动站。WiFi模块为连接到无线网络的终端(站点),可以连接到AP,一般无线网卡工作在STA模式下。该模式对应TCP传输协议中的客户端(TCP...
MPU6050
...
LVGL基础
LVGL基础1.对象(1)概述在 LVGL 中,用户界面的基本构建块是对象,也称为 Widgets。 例如 button、label、image。lsit….. 所有的对象都使用lv_obj_t这个类型的指针作为句柄(类似于C++中的Base),通过该指针来获取对象的各种信息 (2)对象的属性对象的属性包括:基本属性、特定属性 所有对象类型共享一些基本属性: 位置 尺寸 parent 样式 事件处理程序 等等 您可以使用 lv_obj_set_... 和 lv_obj_get_... 函数设置/获取这些属性 对象类型也有特殊的属性。例如,一个滑块有 最小值和最大值 当前值 对于这些特殊的属性,每个对象类型都可能有唯一的 API 函数。例如对于滑块 lv_slider_set_range(slider1, 0, 100); (3)工作机制父对象可以被视为其子对象的容器。每个对象只有一个父对象(屏幕除外),但一个父对象可以有任意数量的子对象。 如果父节点的位置发生变化,子节点将与父节点一起移动。...
事件
事件当LVGL发生某些用户可能感兴趣的事件时,系统做出相应的响应。实际上根据具体情况调用相应的回调函数。STM32的中断也可看成是一种事件 LVGL中的事件包括以下几类: 输入设备事件(Input device events):对象被按下、滚动、聚焦…. 绘图事件(Drawing events) 其他事件(Special events):对象被删除、样式等被更改….. 特殊事件(Other events):对象的值被更改(滑块移动)、一个过程完成 自定义事件(Custom events) 具体的看官方文档 1.给对象添加事件1234567static void my_event_cb(lv_event_t * event){ printf("Clicked\n");}lv_obj_t * btn = lv_btn_creae(lv_scr_act());lv_obj_add_event_cb(btn, my_event_cb, LV_EVENT_CLICKED, NULL); /*Assign an event...
位置
对象的大小和位置1.对象的显示模型一个对象的所有像素包括以下4部分: 边界(bounding)框:元素的宽度/高度围起来的区域。 边框(border)宽度:边框的宽度。 填充(padding):对象两侧与其子对象之间的空间。 内容(content):如果边界框按边框宽度和填充的大小缩小,则显示其大小的内容区域。 2.改变对象位置的方式(1)直接方式 123lv_obj_set_x(obj, 10);lv_obj_set_y(obj, 20);lv_obj_set_pos(obj, 10, 20); //Or in one function (2)百分比 lv_obj_set_x(btn, lv_pct(10)); //x = 10 % of parant content area width (3)设置对齐 123456//与父对象对齐void lv_obj_align(struct _lv_obj_t * obj, lv_align_t align, lv_coord_t x_ofs,...
样式
样式 样式是一个 lv_style_t 变量,它可以保存边框宽度、文本颜色等对象的属性尽管可以用简单的方法Lv_set_xxx()直接修改对象的属性,但是用过样式来该的话可以比较方便的修改更多对象的样式。 可以将样式分配给对象以更改其外观。在赋值过程中,可以指定目标部分(和目标状态 LVGL对象包括如下状态且可以通过|来组合 数字代表了这种状态的优先级,最后选择优先级最高的来显示 1.初始化样式和设置/获取属性样式存储在 lv_style_t 变量中。样式变量应该是 static 、全局或动态分配的。 换句话说,它们不能是函数中的局部变量,当函数结束时它们会被销毁。 在使用样式之前,它应该用 lv_style_init(&my_style) 进行初始化。 初始化后,可以设置或添加样式属性。lv_style_set_<property_name>(&style, <value>); 1234static lv_style_t...
(一)GPIO
(一)GPIO一、MSP430单片机端口概述 (1)端口P1和P2 P1和P2端口具有中断能力。从P1和P2端口的各个I/O引脚引入的中断可以独立地被使能,并且被设置为上升沿或者下降沿触发中断。所有P1端口的I/O引脚的中断都来源于同一个中断向量PORT1_VECTOR。同理,P2端口的中断源都来源于另一个中断向量PORT2_VECTOR。 ...