草庐IT

STM32F407霸天虎HAL库学习笔记——通过I2C驱动OLED

STM32F407霸天虎HAL库学习笔记——通过I2C驱动OLEDI2C知识概述一、软件准备二、硬件准备三、CubeMX配置四、Keiloled.holed.cfont.hmain.cI2C知识概述本次实验是使用I2C驱动0.9寸OLED屏幕,这里补充一下I2C通信的一些基础知识,先看一下物理层面上,I2C使用了两条总线SCL(串行时钟线),SDA(串行数据线)来进行通信,且I2C有三种传输模式:标准传输模式(100kbit/s)、快速传输模式(400kbit/s)、高速传输模式(3.4M/s),但是多数设备不支持高速传输模式,本次我使用到了快速传输模式。在上面的图中可以看出在一个I2C通讯总

基于STM32F407实现快速傅里叶变化(FFT),计算指定频率的幅值

本人的课题是关于EIT采集系统,简单的说就是往人体注入特定频率的恒流源,再采集电压信号,通过分析电阻抗分布进行成像。采集的电压信号是需要进行FFT处理,只保留注入频率的信号成分。本文主要介绍如何在STM32F407上实现对特定频率进行FFT。关于快速傅里叶变化这里不做过多的介绍,具体可参考别人写的博客:如何FFT(快速傅里叶变换)求幅度、频率(超详细含推导过程)_XavZewen的博客使用DSP库进行FFT计算1.1DSP库开启STM32F407是具有浮点运算(FPU)功能,可以通过MDK配置:target->RoatingPointHardware->UseSinglePrecison中打开

STM32F407使用DMA加速刷新LVGL

本人使用国产的实时操作系统RT-thread,屏幕使用的TFTLCD,屏幕IC是LIL9341这里就不讲移植了,如果需要,请评论,后面出;前提:移植好LCD,移植好LVGL(不适用DMA能正常显示)使用STM32Cubemax配置DMA上图中,BurstSize的具体配置根据芯片参考手册来选择,如果要用FIFO的话就需要选择因为LVGL需要屏幕数据传输完后通知一下LVGL,所以这里要启用DMA中断2、添加代码2.1、注册DMA中断/**注册的是传输完成中断*具体注册的中断服务函数在lv_port_disp.c中*/HAL_DMA_RegisterCallback(&hdma_memtomem_

STM32F407使用DMA加速刷新LVGL

本人使用国产的实时操作系统RT-thread,屏幕使用的TFTLCD,屏幕IC是LIL9341这里就不讲移植了,如果需要,请评论,后面出;前提:移植好LCD,移植好LVGL(不适用DMA能正常显示)使用STM32Cubemax配置DMA上图中,BurstSize的具体配置根据芯片参考手册来选择,如果要用FIFO的话就需要选择因为LVGL需要屏幕数据传输完后通知一下LVGL,所以这里要启用DMA中断2、添加代码2.1、注册DMA中断/**注册的是传输完成中断*具体注册的中断服务函数在lv_port_disp.c中*/HAL_DMA_RegisterCallback(&hdma_memtomem_

linux编译环境下,华为LiteOS初体验(STM32F407)

linux编译环境下,华为LiteOS初体验(STM32F407)1、概述系统:Ubuntu22.04,linux版本号如下Linuxlinux5.15.0-40-generic#43-UbuntuSMPWedJun1512:54:21UTC2022x86_64x86_64x86_64GNU/Linux华为做的这套产品,很像linux,可以进行内核选择,模块选择裁剪等,菜单也做的很像。这样对新手比较友好。当然你也可以按照传统方式将源代码增加到你现在的代码中,进行编译。2、LiteOS编译调试2.1编译错误处理初次make编译系统报错python:没有那个文件或目录make[1]:进入目录“/h

STM32CubeMX配置STM32F407的硬件IIC采集AHT20的温湿度

文章目录前言一、ATH20手册连接与注意事项二、STM32CubeMX配置硬件IIC三、具体实现代码前言最近在使用奥松的AHT20对环境温湿度进行采集。本例程采用ST的硬件IIC进行通讯,具体操作如下。一、ATH20手册连接与注意事项手册连接:AHT20数据手册注意事项:1、手册中器件地址是错误的,如下图:此器件地址实际应该是0x70,而不是0x38。2、在使用模拟IIC读取温湿度数值时,一定注意在停止信号前发送“NACK”非应答信号,而中间读取完一个字节发送的是“ACK”应答信号。如下图所示:但是采用HAL库配置的硬件IIC,则直接使用如下两个相关函数即可,无需关注此应答信号。HAL_Sta

Python 请求 API 使用代理进行 https 请求获取 407 需要代理身份验证

我一直在努力使用我公司的代理来发出https请求。importrequestsfromrequests.authimportHTTPProxyAuthproxy_string='http://user:password@url_proxt:port_proxy's=requests.Session()s.proxies={"http":proxy_string,"https":proxy_string}s.auth=HTTPProxyAuth(user,password)r=s.get('http://www.google.com')#OKprint(r.text)r=s.get('h

GUI——LVGL移植+STM32f407zgt6(正点原子最小系统板+GUI Guider

写在前面,写这篇blog的目的也是为了提醒自己howto移植LVGL,所以写的不够好,也可能不是会很详细,大佬勿喷准备工作,下载lvgl源码,Github源码,很容易。一.GUIGuider的使用首先是GUIGuider的介绍GUIGuider是NXP公司开发的一个图形化软件,对于初学GUI或者写ui界面的小白们非常合适,也非常方便,现在就示例写一个demo 首先是初始化界面,在相应的位置填写相关信息(文件名,是否使用模板,以及数据位,最重要的是大小),这个显示的大小要和自己的显示屏配套才行,然后就可以进行后面的ui设计 图形化界面,完全通过拖拽去实现,写一个令自己满意的ui在系统设置里可以改

c# - HttpClient 和使用代理 - 不断得到 407

代码如下:HttpClientclient=null;HttpClientHandlerhttpClientHandler=newHttpClientHandler(){Proxy=newWebProxy(string.Format("{0}:{1}",proxyServerSettings.Address,proxyServerSettings.Port),false),PreAuthenticate=true,UseDefaultCredentials=false,};this.httpClientHandler.Credentials=newNetworkCredential(p

c# - C# : HTTP 407 error 中的代理基本身份验证

我正在使用需要身份验证的代理,即在浏览器中,如果我尝试打开一个页面,它会立即要求提供凭据。我在我的程序中提供了相同的凭据,但它因HTTP407错误而失败。这是我的代码:HttpWebRequestrequest=(HttpWebRequest)WebRequest.Create(URL);IWebProxyproxy=WebRequest.GetSystemWebProxy();CredentialCachecc=newCredentialCache();NetworkCredentialnc=newNetworkCredential();nc.UserName="userName";