一、hal库配置0.96寸oled屏幕+tftlcd屏幕演示 一、硬件iic配置(使用oled演示)图省事复制即可(注意:从机地址0x78或0x7a)//初始化void MX_I2C1_Init(void){ hi2c1.Instance = I2C1; hi2c1.Init.ClockSpeed = 100000;//标准 hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;//对应标准 hi2c1.Init.OwnAddress1 = 0x78;//第一个设备自己的地址 hi2c1.Init.Addressin
一、对ST的系统时钟的理解与笔记 一、对于系统的启动和初始化流程1.启动流程系统启动文件startup_xx.s进行系统并调用复位中断复位服务程序。在复位中断服务程序里调用SystemInit函数,此函数在文件system_stm32f4xx.c里面之后调用编译器封装好的函数__main ,进入到main中执行用户的函数2.初始化流程在main函数中的重要初始化HAL_Init函数即HAL库初始化函数,在stm32f4xx_hal.c中进行配置。在system_stm32f4xx.c中有关于HSE_VALUE的配置,当时钟不匹配时
一、对MODEBUS RTU方式通信学习笔记 一、首先1、对于寄存器操作的一些宏进行理解。#define SET_BIT(REG, BIT) ((REG) |= (BIT))//设置寄存器的第bit位值为1,SET_BIT(RCC->AHB2ENR,1) 或者 SET_BIT(RCC->AHB2ENR,2) #define CLEAR_BIT(REG, BIT) ((REG) &= ~(BIT))//清除寄存器的第bit位值为1的值,即将第bit位置0,CLEAR_BIT(RCC->CR, 64) #def
一、cubeide的使用与笔记 一,应用使用**1.**使用CubeIde 时生成hex或者bin,进行下载配置工程右键》Properties》C/C++ Build 》Settings 》找到Build Steps选项卡,在“Post-build steps”的“Command”输入以下命令生成hex:arm-none-eabi-objcopy "${ProjName}.elf" -O ihex "${ProjName}.hex"生成bin:arm-none-eabi-objcopy "${ProjName}.elf"
一、单向、循环、双向链表流程的应用的演示。 一、链表流程的演示。(1)主要是链表的初始化流程,以及配置演示。使用的环境为gcc编译环境,环境配置查看往昔文章。(1)单向链表#include <stdio.h>#include <string.h>#include <stdlib.h>//--------------------------------------------------------单向链表 typedef struct node { int data; stru
一.静态库和动态库的创建与调用。 1.创建静态库:static_test_sort.h#define funtype int //变量类型funtype Sel_sort(funtype *a, funtype len); //选择排序funtype bub_sort(funtype *a, funtype len); //冒泡排序funtype insert_sort(funtype *a,
一对于开关电源的简单整理: 一.首先电感和电容,电阻作为常见的电源电路的元器件:有着各自的作用:电阻:并联分流,串联分压特性。二极管:整流作用(单向导通性)等。(一).“电容通交流阻直流原理:电容的阻通性能是随电流的频率变化的。当交流电流接通时,正极板不断聚集正电荷,负极板不断聚集负电荷,这是电容的充电。充电、放点,就形成了电流。频率越高,充放速度就越快电流就越大其他作用:1)旁路旁路电容是为本地器件提供能量的储能器件,它能使稳压器的输出均匀化,降低负载需求。就像小型可充电电池一样,旁路电容能够被充电,并向器件进行放电。