推荐阅读最新更新时间:2024-03-16 16:18
stm32 CAN LoopBack 自测模式成功
移植了stm32 外设库里面的代码。 //CAN_Polling 成功 DS1亮 //CAN_Interrupt 成功 DS2亮 失败时候 分别对应 DS3 DS4亮 下面显示关键代码 main.c =========================== int main(void) { /* Setup STM32 system (clock, PLL and Flash configuration) */ SystemInit(); /* CAN1 Periph clock enable */ RCC_APB1PeriphClockCmd(RCC_APB1Periph_CAN1, ENABLE); /* NVIC
[单片机]
STM32开发笔记41: 移植FreeRTOS程序后,编译报错的解决方法
单片机型号:STM32F070F6P6 项目希望使用FreeRTOS操作系统,将其移植到自己的工程中后,编译保存,如下图所示。 这个问题,我在https://blog.csdn.net/qingwufeiyang12346/article/details/79782075日志中已经介绍过,在这次移植的开始时,也希望仍然采用原先的方法加以解决,但是涉及到的语句非常多,更改起来非常麻烦。解决这个问题的另外一种方法是,去除CPP11编译,但如果这样就不能使用C++语言。所以还需使用静态库的方法加以解决,具体的就是将FreeRTOS涉及到的所有源文件,去除CPP11编译后,用C99编译为静态库,与其它C++写的程序进行链接使
[单片机]
STM32+DHT11 读取温湿度数据显示
一、环境介绍 MCU: STM32F103C8T6 温湿度模块: DHT11 开发软件: Keil5 二、DHT11 介绍 DHT11 数字温湿度传感器是一款含有已校准数字信号输出的温湿度复合传感器。 它应用专用的数字模块采集技术和温湿度传感技术, 确保产品具有极高的可靠性与卓越的长期稳定性。传感器包括一个电阻式感湿元件和一个 NTC 测温元件,并与一个高性能 8 位单片机相连接。因此该产品具有品质卓越、超快响应、抗干扰能力强、性价比极高等优点。 每个 DHT11 传感器都在极为精确的湿度校验室中进行校准。校准系数以程序的形式储存在 OTP 内存中,传感器内部在检测信号的处理过程中要调用这些校准系数。 单线制串行接口, 使
[单片机]
STM32的ISP升级详解
最近在做一个给STM32用ISP升级的项目,接触到STM32厂家烧录的Bootloader工作流程,具体官方文档稍后上传供大家参考,也可去ST官网下载文档。接下来针对文档中部分内容分析其工作过程: 一、要进入该模式,需把STM32硬件上的BOOT0引脚拉高(置1),BOOT1拉低(置0),对此部分不明白的可以查阅STM32BOOT引脚的资料(网上一搜一大堆),不过多阐述。两个引脚配置好对STM32复位,其在4个时钟周期内会自动检测BOOT引脚相应的配置情况,进入相应模式(原厂Bootloader模式)下工作,此时已经到达此次旅行的起点——USART Bootloader 模式 此处要特别注意的是硬件上一定要用原厂规定的串口
[单片机]
STM32使用LWIP库新建tcp_sever
main函数 区域1是lwip的初始化 void LwIP_Init(void) { struct ip_addr ipaddr; struct ip_addr netmask; struct ip_addr gw; mem_init();//内存堆初始化 memp_init();//内存池初始化 IP4_ADDR(&ipaddr, 192, 168, 16, 211); IP4_ADDR(&netmask, 255, 255 , 255, 0); IP4_ADDR(&gw, 192, 168, 16, 1); netif_add(&netif, &ipaddr, &netmask,
[单片机]
STM32移植UCGUI实现GPS
在MDK环境下,终于将3.90版本的UCGUI移植到STM32下了,在网上看到的都是例程代码,很少看到有关于在STM32下移植UCGUI的教程方法,为了方便大家,特写此移植方法,大家可以借鉴(有错误之处,望大家指点出来共同讨论!) 移植步骤: 第一步:首先,得把你的TFT底层驱动写好,既在裸机下,可以正常显示。 第二步:加入UCGUI程序包。 第三步:配置LCDConf.h GUIConf.h GUITouchConf.h(由于我的液晶不带触摸功能,此配置在此不讲。) 配置LCDConf.h文件如下: #ifndef LCDCONF_H #define LCDCONF_H #define LCD_XSIZE (160) //配置T
[单片机]
STM32安全固件更新的设计与实现
STM32 提供了安全固件更新的参考设计。为了理解STM32 安全固件更新,我们可以先去看一看普通的固件更新式如何设计,包括一般流程、端到端之间的传输以及为了支持传输的数据结构,在MCU 中的存储以及支持存储的数据结构。在对固件更新的一般原理有了基本认知后,我们看下安全固件更新需要额外引入哪些改变,以及目前STM32 如何在安全固件更新里实现这些额外的需求。一定要谨记,STM32 安全固件更新离不开STM32 安全启动这个平台安全做基础。 固件更新的总体设计 固件更新的流程 一般情况下,固件更新由近距离两方参与: ◎ 设备端:固件的接受方STM32 MCU ◎ 服务器:固件的提供方比如PC 例如:开发人员可以用
[单片机]
142条STM32遇到的坑,你知道几个?
1、AHB系统总线分为APB1(36MHz)和APB2(72MHz),其中2 1,意思是APB2接高速设备。 2、Stm32f10x.h相当于reg52.h(里面有基本的位操作定义),另一个为stm32f10x_conf.h专门控制外围器件的配置,也就是开关头文件的作用 3、HSE Osc(High Speed External Oscillator)高速外部晶振,一般为8MHz,HSI RC(High Speed InternalRC)高速内部RC,8MHz 4、LSE Osc(Low Speed External Oscillator)低速外部晶振,一般为32.768KHz,LSI RC(Low Speed InternalR
[单片机]