![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
嵌入式
李某人_1
这个作者很懒,什么都没留下…
展开
-
透明小时钟开发流程与总结
文章目录功能实现:时间更新天气信息更新菜单配置WiFi 配置UIDrop down listWiFi配置lvgl使用虚拟键盘WIFI问题其他主界面切换ui逻辑问题LVGL设置图片动画主菜单逻辑需要做的事情doing城市名字打错之后会进入无限循环。功能实现:时间更新时间功能需要在custom.h里面exten data、time未知问题,字符串位置索引错误,把char network 分别给time和data会互相重叠。。解决:使用srting 字符串格式,并且直接传给lvgl为字符串转原创 2021-12-24 17:17:41 · 3127 阅读 · 0 评论 -
指针无法传递问题
指针无法传递问题char *Spiffs::wifi_read_account(void){ File file; file = SPIFFS.open("/account.txt", FILE_READ); if (file) { char account2[]="1234"; char account[]=""; int index=0; while (file.available()) { account[index原创 2021-11-24 15:13:29 · 584 阅读 · 0 评论 -
从零在 Linux(ubuntu)下,使用VScode+ESP32 IDF+Platform IO搭建开发环境
ESP32的开发环境确实不友好,远不如STM32,在了解了几个的编译环境和方法后,我认为这个方法是最简单方便的,无需繁杂的命令配置,只需要认真阅读官方文档一般都能解决问题。这里有几个问题:1).为什么开发环境要使用Linux而不是Windows:Linux下编译更快!速度在5-10倍以上2).为什么编译工具使用VScode而不是CMake等,其实Eclipse也是可以的,但是我习惯了vs全家桶,就用vscode了。主要是方便,再加上本身对make也不熟悉。工具介绍如图:官方ESP-IDF 编原创 2021-09-02 21:50:21 · 5847 阅读 · 3 评论 -
17年电赛的板球控制系统,PID算法的C程序实现+OpenMV的图像处理(颜色识别)
练习了17年电赛的板球控制系统,主要用到两个,一个是PID,另一个是OpenMV的图像处理(颜色识别)PID:#include "main.h"#include "stdio.h"void PIDx_init(void);float PIDx_realize(float speed);void PIDy_init(void);float PIDy_realize(float speed);#include "PID.h" /******************* X轴PID **原创 2021-08-03 14:08:17 · 2539 阅读 · 1 评论 -
(硬件SPI)对于清幕函数使用数组,加快SPI硬件的单个数据发送速度
对于清幕函数使用数组,加快SPI硬件的单个数据发送速度void LCD_Clear(uint16_t Color){ uint8_t Color_buff[320*2]={0x00}; uint32_t i=0; for(i=0;i<320;i++) { Color_buff[2*i]=Color/256; Color_buff[2*i+1]=Color%256; } extern SPI_HandleTypeDef hspi1; LCD_Set原创 2021-05-24 14:40:56 · 229 阅读 · 0 评论 -
MDK错误代码
原文地址:https://www.cnblogs.com/chris-cp/p/3900766.htmlMDK常见错误详解集合错误代码及错误信息 错误释义error 1: Out of memory 内存溢出error 2: Identifier expected 缺标识符error 3: Unknown identifier 未定义的标识符error 4: Duplicate identifier 重复定义的标识符error 5: Syntax error 语法错误error 6: Err转载 2021-05-23 11:19:20 · 1647 阅读 · 0 评论 -
HAL库使用PWM
HAL库使用PWM HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1); __HAL_TIM_SET_COMPARE(&htim2,TIM_CHANNEL_1,197);原创 2021-05-21 12:16:40 · 899 阅读 · 0 评论 -
HAL库使用IIC
HAL库使用IIC选择主从模式和速度直接调用IIC函数函数原型: * @brief Write an amount of data in blocking mode to a specific memory address * @param hi2c Pointer to a I2C_HandleTypeDef structure that contains * the configuration information for the specified I2C. * @par原创 2021-05-21 11:29:29 · 2958 阅读 · 0 评论 -
CubeMX_ADC学习笔记——ADC(DMA模式)的使用
CubeMX_ADC学习笔记——ADC的使用一、在CubeMX上创建项目工程1、创建工程2、搜索芯片型号3、双击选择芯片型号(STM32G071RBTX)4、进入界面,选择串口SWD调试方式5、选择外部陶瓷晶振6、GPIO配置7、ADC配置注 需要关注的有:8、定时器配置注 需要关注的有:9、串口配置(默认配置即可,最后记得在NVIC里使能串口中断)在MDK中修改CubeMX上创建的项目工程:效果展示一、在CubeMX上创建项目工程1、创建工程2、搜索芯片型号3、双击选择芯片型号(STM32G0原创 2020-10-31 23:24:51 · 4736 阅读 · 2 评论 -
OpenMV物体分类和颜色识别两种模式通过串口发送,与STM32通信。
import sensor, image, time, math,os, tffrom pyb import UARTfrom pyb import Pin, Timer# 50kHz pin6 timer2 channel1uart = UART(3, 9600)buff=0while(True): while( uart.any() ): temp = uart.readline().decode() buff=temp if tem原创 2021-04-22 19:11:34 · 2091 阅读 · 2 评论 -
OpenMV查找除了自定义的颜色外的所有颜色,并把他框选起来
import sensor, image, time, mathimport timefrom pyb import Pin, Timer# 50kHz pin6 timer2 channel1light = Timer(2, freq=50000).channel(1, Timer.PWM, pin=Pin("P6"))light.pulse_width_percent(100) # 控制扩展LED的亮度 0~100thresholds = [(41, 82, -18, 11, -20,原创 2021-04-22 19:07:05 · 595 阅读 · 0 评论 -
OpenMV 驱动自己的LCD屏(修改后)
OpenMV 驱动自己的LCD屏所以在写这个代码之前参考一位老哥的代码,但是他使用的是OpenMV V3,我的是OpenMV V4 H7 Plus,运行他的源代码后发现并不能显示。所以我在他的代码基础上进行了更改,来适配新版本的OpenMV。其中最重要的更改就是write_image()这个函数,OpenMV返回的image对象并不能直接拿来给SPI发送,因为他会丢掉GRB565 16位数据的低(或高)八位,所以,我又开辟了一个新的数据缓存区:fbuf = bytearray(320)#建立帧缓冲原创 2021-04-22 18:33:15 · 11958 阅读 · 72 评论 -
1.3TFT LCD (ST7789)镜像操作 适配三棱镜
三棱镜会将LCD镜像,所以要在LCD上写镜像操作在ST7789数据手册中找到镜像的命令:也就是对D6位进行置1 其他置0即可用计算器的程序员模式:即先写命令0X36,然后写数据0X40 Lcd_WriteIndex(0x36); Lcd_WriteData(0x40); //镜像显示 //Lcd_WriteData(0x00); 正常显示...原创 2021-03-05 20:25:09 · 3670 阅读 · 12 评论