草庐IT

STM32Programmer

全部标签

GD32F303单片机学习记录1 ADC初始化配置

1:初始化ADC所用到的GPIO口(主要包括使能对应的GPIO时钟,GPIO模块GPIOA或GPIOB等等,GPIO模式(输入或者输出),GPIO的速度,引脚选择)rcu_periph_clock_enable(RCU_GPIOA);//使能GPIO时钟gpio_init(GPIOA,GPIO_MODE_AIN,GPIO_OSPEED_MAX,GPIO_PIN_6|GPIO_PIN_7|GPIO_PIN_8|);//初始化GPIO引脚2:使能ADC时钟和对ADC时钟进行分频rcu_periph_clock_enable(RCU_ADC0);//使能ADC种用到哪个ADC就使能对应的时钟rcu_

c++ - uint32、int16、uint8 .. 为什么这些常用数据类型没有纳入标准

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭5年前。Improvethisquestion多年来,在涉及C/C++的多个组织和各种项目中,我发现通过定义本地版本的types.h解决了对固定宽度整数的需求,它看起来像这个:-typedefsignedcharint8;typedefunsignedcharuint8;typedefsignedshortint16;typedefunsignedshortuint16;typedefsignedlongint32;typedefun

【硬件开源电路】STM32G070RBT6开发板

【硬件开源电路】STM32G070RBT6开发板✨制作过程中经历了一些意想不到的坎,在绘制好PCB电路,提交到制作加工厂,工厂解析的Gerber文件中,主控IC焊盘变细,没法正常制作,通过Gerbv_2.6.0查看印刷电路板图也是,是软件导出的问题,在最新的6.5.19版本中已经修复了此bug问题。🎉本次焊接了2块,测试都没问题。📑STM32G070RBT6开发板制作考量🔖就目前IC市场价格有降价的趋势,但是此水平还是未达到以前的价格水平。在STM32G系列当中,型号STM32G070RBT6芯片当属当前性价比高的IC,所以选择此IC作为主控来制作一款性价比高的开发板。制作成本不过超10RMB

【正点原子STM32】STM32初体验(Keil MDK工具下载使用、DAP仿真器、MDK上配置DAP、Debug)

一、MDK5编译例程二、串口下载程序2.1、串口下载程序须知2.2、串口下载硬件连接2.3、配置下载工具(ATK-XISP.exe)2.4、STM32启动模式(M3和M4)三、DAP下载程序3.1、DAP下载硬件连接3.2、在MDK上配置DAP不同开发板的下载算法有所不同Build构建F7、Download下载F8四、DAP调试程序4.1、JTAG/SWD调试原理概述4.2、在MDK配置DAP仿真调试4.3、基础执行控制按钮介绍断点复位、执行控制查看程序段/函数执行时间结束仿真报错解决方法4.4、工具栏常用窗口按钮介绍CallStack窗口(调用栈窗口):查看函数调用关系&局部变量Watch窗

c++ - 如何使用STM32单片机生成REAL随机数?

我正在keilmicrovisionIDE中使用STM32F103Earmcortex-m3MCU开发一个项目。我需要为某些目的生成随机数,但我不想使用标准C++库生成的伪随机数,所以我需要一种方法来使用硬件功能生成真正的随机数,但我不知道如何我能行。任何的想法?(我是一名软件工程师,不是电子专业人士,所以请简单描述一下:P) 最佳答案 这是我刚遇到的一个老问题,但我想回答,因为我觉得其他答案都不令人满意。“我需要随机数来生成RSAkey。”这意味着PRNG例程(经常被错误地称为RNG,这是我的一个小毛病)是NotAcceptabl

c++ - 在现代 C++ 应用程序中使用 Win32 代码时,是否应该使用正确的转换?

例如,在MSDN文档中随处可见以下强制转换:(LPTSTR)&lpMsgBuf我是否应该将其转换为:static_cast(&lpMsgBuf);或者我是否应该保留所有惯用的C风格Win32部分,因为它们通常在文档中找到,并为我的其余代码保留更惯用的C++样式/用法? 最佳答案 引入新样式强制转换是有原因的:它们更安全、更具解释性/self注释、更易于查看并且更易于grep查找。所以使用它们。更详细的解释,我们的意思是你不能只是转换为某物,你必须说为什么你正在转换(我在继承层次结构(dynamic_cast)中转换,我的转换是实现定

c++ - 为什么 win32 API 函数没有重载而是使用 Ex 作为后缀?

例如,win32API有两个方法StrFormatByteSize和StrFormatByteSizeEx。即使这两种方法在语义上做同样的事情并且Ex计数器部分只提供一个新参数来稍微改变行为,那么它们不能有相同函数的两个重载吗?这是c/c++的局限性还是造成这种尴尬约定的可能原因是什么? 最佳答案 Win32API是C(不是C++)API。C语言不支持重载函数。补充一点:Win32API使用__stdcall装饰函数,其中包括参数的字节数作为函数名称的一部分。__stdcall不是C语言的一部分,但Windows链接器必须了解它。M

装完32G内存条 电脑飞跃提升!

我是南城余!阿里云开发者平台专家博士证书获得者!欢迎关注我的博客!一同成长!一名从事运维开发的worker,记录分享学习。专注于AI,运维开发,windows Linux 系统领域的分享!大家好,我是南城余!今天分享下装内存的经过!这个年代,电脑16G干互联网,或许早已不太行了,尤其是Windows内存的垃圾管理。电脑刚一开机16G的内存就变成了占用7G左右了(并且我这还是没有设置任何流氓软件自启的情况下,除了一些小工具,一款截图软件,那占用几乎可以忽略不计的)也就是说50%的内存没了啊干互联网呢,大家都需要学习吧,开几个浏览器窗口,占用内存可能就是1.5G左右了。(一个窗口记笔记,一个窗口看

STM32-LwESP 移植

LwESP是一个专门解析Espressif公司旗下ESP系列芯片AT指令的开源库,具有以下特性:支持Espressif公司ESP32,ESP32-C2,ESP32-C3,ESP32-C6和ESP8266芯片。独立平台,采用C99标准编写,易于移植。允许不同的配置来优化客户的需求。针对RTOS系统进行了优化。有专门的2个线程来处理用户的输入和接收的数据Producer线程:用于从应用程序接收用户命令并执行Process线程:处理从ESP返回的数据支持在LwESP上直接运行以下应用:HTTPserverMQTTclientCayenneMQTTserver嵌入其它AT指令,如WPS用户友好的MIT

STM32 基础知识(探索者开发板)--159讲 CAN总线

CAN基础知识:ISO国际标准化的串行通信协议,为了减少线束的数量CAN特点:a.多主控制 每个设备都可以主动发送数据b.通信速度较快,通信距离远。最高1Mbps(距离小于40M),最远可达10KM(速率低于5Kbps)c.具有错误检测、错误通知和错误恢复功能d.故障封闭功能 能发现故障,且可以把故障单元隔离出去CAN在HAL库中的驱动代码在stm32f4xx_hal_can.c文件中CAN的常用函数:1)HAL_CAN_Init函数      CAN控制器的初始化HAL_StatusTypeDef HAL_CAN_Init(CAN_HandleTypeDef*hcan);CAN初始化结构体如