• 2024-11-03STM32 第20章 USART--串口通信2
    时间:2024.10.29参考资料:《零死角玩转STM32》“USART--串口通信”章节编程是从GPIO输出-使用固件库点亮LED灯的基础上开始一、学习内容1、STM32串口初始化结构体和固件库1.1USART初始化结构体 /***@briefUSARTInitStructuredefinition*/typedef
  • 2024-10-21STM32F407 HAL库:双DAC的信号发生器+双ADC采集
    文章目录概要CubeMX配置代码细节1.串口发送:串口重定向:调用HAL库函数:2.串口接收:3.DAC+DMA提前写入的数据:函数生成数据:DAC+DMA程序中调用:4.ADC+DMAADC转换标志位:ADC的使用:5.FFT操作总结概要使用F407内部的DAC由定时器触发并加上DMA操作实现如正弦波、方
  • 2024-10-19ton 合约map批量同步和go调用
    tact代码:import"@stdlib/deploy";import"@stdlib/ownable";structRoundInfo{orders:map<Intasuint32,BuyInfo>;sum:Intasuint16;arrLength:Intasuint16;}structBuyInfo{startLuckyNum
  • 2024-10-11雷赛运动控制卡库函数C#导出
    usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Runtime.InteropServices;namespaceHardware.ImportExternal//命名空间根据应用程序修改{publicdelegateuintDMC3K5K_OPERATE(IntPtroperate_data);///<summary>///
  • 2024-10-06VL53L4CD液位监测(2)----液位检测
    VL53L4CD液位监测.2--液位检测概述视频教学样品申请完整代码下载硬件准备STSW-IMG039容器特性包含必要的头文件变量定义测距函数Ranging()液位误差补偿函数Liquidlevelmeasureerrorcomponsate()数据轮询函数get_data_by_polling()演示概述液位检测在工业自动化、
  • 2024-08-30二分法查+范围内临近值查找
        1uint16FindPosition(uint8arr[],uint16length,uint8target)2{3uint16low=0;4uint16high=length-1;5uint16closest_position=0xFFFF;67if(target<arr[0]||target>arr[length-1])8{9
  • 2024-08-23STM32学习记录-05 -2-TIM输出比较
    1输出比较简介OC(OutputCompare)输出比较输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出的功能2
  • 2024-08-12IIC模拟 && E2PROM
    IIC模拟&&E2PROM IIC_eeprom.h#ifndef__IIC_EEPROM_H__#define__IIC_EEPROM_H__/*****************************************************************************************型号Byte容量页数页内字节数WORD_ADDR位数WORD_ADDR字节
  • 2024-07-237.22笔记
    规定引脚TX发送RX接收SLC时钟  SDA数据SCLK时钟  MOSI主机输出数据  MISO主机输入数据  CS片选(用于指定通信对象)CAN_HCAN_L 差分数据脚(用两个引脚表示一个差分数据)DPDM差分数据脚全双工(FullDuplex)通信允许数据同时在两个方向上传输,即在一个通信链
  • 2024-07-16HAL库源码移植与使用之驱动LCD屏
    LCD屏会有烧屏残影的风险,但因其价格便宜他非常适合用于单片机显示显示屏分为以下几种:他的组成部包含玻璃基板、背光、驱动IC等LCD接口的种类MCU很简单,连51单片机都能驱动,但无法频繁刷新,一般有着20几个引脚引出的就是MCU接口我们常用的是就是MCU,下面讲的也是LCD屏幕MCU驱动
  • 2024-07-09单片机-Flash动态自保存
         说明:该方法为固定大小的数据包方式进行记录,写满一页后再擦除设定页从新记录,增加Flash使用寿命。    环境需求:Flash需要可程序读写。    以STM32,中容量为例(HAL库方式)。        注意事项:避开程序空间,注意页的大小有的为1K,有的为2K按需
  • 2024-06-23Flash均衡读写
    #defineFLASH_INITIAL_BYTE0xff #definePAGE_NUM_PER_CONFIG       2 #defineCONFIG_FLASH_PAGE_START     508#defineCONFIG_BUF_SIZEsizeof(CFG_CHARGE_ST)/2#define  CONFIG_FLASH_ADDRESS_START
  • 2024-06-22crc16 linux版本
    #include<stdio.h>#include<stdint.h>//CRC-16-CCITT标准的多项式#definePOLY0x1021uint16_tcrc16(uint16_tcrc,constunsignedchar*buffer,size_tlen){while(len--){crc^=(*buffer++<<8);for(inti=0;i<
  • 2024-06-22STM32硬件接口I2C应用(基于FT6336)
    目录概述1硬件介绍1.1 ST7796-LCD1.2MCUIO与LCDPIN对应关系1.3 MCUIO与Touch PIN对应关系2FT6336的寄存器2.1FT6336寄存器列表2.2寄存器功能介绍 3STM32Cube控制配置I2C3.1 软硬件版本信息3.2 I2C参数配置3.3 使用STM32Cube产生工程4HAL库函数
  • 2024-06-20TMS320F28377D学习日志:day2点亮LED
    文章目录一、28377开发板的led电路分析二、28377的GPIO相关寄存器介绍2.1前言2.2GPySET寄存器介绍2.3GPyCLEAR寄存器介绍三、程序介绍3.1引入库3.2配置GPIO引脚功能3.2.1GPIO_SetupPinMux函数3.2.1GPIO_SetupPinOptions函数3.3系统初始化3.4循环程序参考文
  • 2024-04-30stm32F07 HAL 库 通过定时器方式实现呼吸灯 自定义呼吸灯函数 (以参数方式设置io口,亮或灭的持续时间,亮或灭的频率,从最低亮度开始上升)
    效果: 1、通过Stm32CubMX开启定时器、设置对应的io口,然后生成工程STM32CubeMX|STM32HAL库方式的微秒延时函数  2、自定义呼吸灯函数代码://呼吸灯函数//GPIO_TypeDef*GPIOx:GPIO组(A-G)//uint16_tGPIO_Pin:IO口(GPIO_Pin_0--GPIO_Pin_16)//
  • 2024-04-26STM32之UASRT试验
    一、实验目的1.实现STM32F407开发板与上位机工具通讯,中断方式 具体实现的效果:上电后,下位机主动发送helloworld,上位机收到并显示;上位机发送数字0~9,回复:zero~nine2.通讯协议,后面补充3.硬件使用野火开发版STM32F4074.与开发板连接的接口是Usb转串口,根据原理图看出选择的
  • 2024-04-24关于引脚复用,不得不提的GPIO_PinSource 和GPIO_Pin
    调整前的代码GPIO_PinAFConfig(GPIOA,GPIO_Pin_9,GPIO_AF_4);GPIO_PinAFConfig(GPIOA,GPIO_Pin_10,GPIO_AF_4);调整后的代码GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_4);GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_4);  不难看出,该工程师调整的就是上面红色参
  • 2024-04-17123123
    #include<stdio.h>#include<stdint.h>#pragmapack(push,1)typedefstruct{   struct{      uint16_tmon:8;            //月      uint16_tyear:8;         //以2000年为基准   };   struct{      uint1
  • 2024-04-17123
    #include<stdio.h>#include<stdint.h>#pragmapack(push,2)typedefunion{uint16_tall;struct{uint16_ttime_set1:2;uint16_ttime_set2:2;uint16_ttime_set3:2;uint16_ttime_set4:2;
  • 2024-03-12stm32 TIM输出比较(OC) PWM
    stm32P6-4 05:00  ([6-4]PWM驱动LED呼吸灯&PWM驱动舵机&PWM驱动直流电机_哔哩哔哩_bilibili)1.stm32f10x.tim.h部分头文件讲解voidTIM_DeInit(TIM_TypeDef*TIMx);​​​​​​​voidTIM_TimeBaseInit(TIM_TypeDef*TIMx,TIM_TimeBaseInitTypeDef*TIM_TimeBaseInitStruct
  • 2024-01-22CRC - 校验汇总
    CRC-校验汇总软件: 1.计算法: #ifndef__CRCLIB_H__#define__CRCLIB_H__#include"stdint.h"uint8_tcrc4_itu(uint8_t*data,uint16_tlength);uint8_tcrc5_epc(uint8_t*data,uint16_tlength);uint8_tcrc5_itu(uint8_t*data,uint16_tlength);uin
  • 2024-01-04合约交易系统开发(开发案例)丨合约交易所系统开发(逻辑方案)/设计程序/成熟源码
    智能合约的生命周期根据其运行机制可概括为协商、开发、部署、运维、学习和自毁六个阶段,其中开发阶段包括合约上链前的合约测试,学习阶段包括智能合约的运行反馈与合约更新为智能合约的基础架构模型,模型自底向上由基础设施层、合约层、运维层、智能层、表现层和应用层组成,基
  • 2023-12-12Time slice based task routine in C
          基于时间片的轮询任务调度实例。#include<stdint.h>#include<stdio.h>#include<WinSock2.h>#defineMAX_TASK_NUM10#defineMAX_HALF_WORD0xffff#definefalse0#definetrue1staticuint16_tg_ti
  • 2023-11-27实用!Arduino平台最强大的“显卡”驱动:Adafruit GFX 图形库8000字详细使用指南
    实用!Arduino平台最强大的“显卡”驱动:AdafruitGFX图形库8000字详细使用指南光锥之外​昆明尚禾农业科技有限公司副总经理​关注他  概述Arduino的Adafruit_GFX库为我们所有的LCD和OLED显示屏提供了通用语法和图形功能集。这使得Arduino示例程序可