STM32
zhuohui307317684
什么时候才能发达,财务自由啊啊啊
展开
-
批处理编译Keil工程
如下,keil是不会输出日志的,所以后面加了一句 type build_log.txt,把日志打印出来。原创 2023-06-09 09:22:49 · 296 阅读 · 0 评论 -
STM32哪些引脚默认高电平
剩下的PA15,PB3,PB4这三个脚,我一一测试了,只有PB4是默认高电平,也就是说,即使STM32复位了,这个脚的电平依然不会产生低电平。在某些时候需要MCU引脚默认高电平,比如用来复位蓝牙模块的引脚,一旦STM32复位时,GPIO口就会低电平,这时,也会复位蓝牙模块,那么,有没有办法不复位蓝牙模块呢?有的,一种是硬件的方法,很简介,就是加一个三极管,做一个反向器。当然,由于这个脚是默认JTAG功能的,所以,初始化时步骤会多一点,和普通GPIO口不一样,要注意了。原创 2023-04-17 14:18:23 · 4783 阅读 · 3 评论 -
STM32判断软件、硬件启动(看门狗复位启动与上电启动)
很多时候,需要判断到底是什么方式启动,是硬件启动,还是软件重启。原创 2023-02-02 15:42:43 · 1177 阅读 · 0 评论 -
stm32软件复位
总结,这种方法有时候会不起作用。所以,还是第2重方法比较好。有两种方法,一种是调用系统复位函数,另一种是跳到程序起点。原创 2023-01-31 09:20:11 · 9554 阅读 · 1 评论 -
直流电机方案
用H桥来控制原创 2022-12-29 17:41:37 · 112 阅读 · 0 评论 -
STM32的PB3/PB4/PA15用作普通IO使用
2.关闭JTAG功能,仅打开SWD功能。这3个引脚(PB3/PB4/PA15)默认是JTAG功能。若想作用GPIO使用,只需加入两行代码, 作用用分别是。原创 2022-12-21 09:22:41 · 1705 阅读 · 0 评论 -
CAN FD
总结了一份基于STM32H7的CAN FD笔记。原创 2022-11-07 15:27:12 · 1018 阅读 · 0 评论 -
STM32测试所有GPIO引脚代码
可以把所有GPIO的引脚置高或置低,以方便测试硬件电路板。原创 2022-10-11 08:52:06 · 541 阅读 · 0 评论 -
杰理烧录器驱动安装失败
按住“Win”键,打开运行窗口,输入"services.msc",再按“Enter”(回车)键或者点击“确定”2、打开“服务”窗口,找到“Windows Update ”服务,查看状态是否启动3、若该服务未正常启动(即显示“禁用”),双击打开,将其启动类型更改为“手动”或“自动”。然后单击“启动”,保存设置,重新安装程序即可。点击“添加新的虚拟串口”之后,出现了“未知设备”,然后,我右键再点“更新驱动程序软件”,就会提示“Windows 已找到设备的驱动程序软件,但在试图安装它时遇到错误。原创 2022-10-03 23:15:53 · 1718 阅读 · 0 评论 -
u16 转为 int
【代码】u16 转为 int。原创 2022-08-24 11:03:33 · 675 阅读 · 0 评论 -
查看IAR工程所用版本号
IAR有很多的版本,一般情况下,高版本会兼容低版本的工程,但有时候兼容不了,比如IAR5的工程,可能用IAR7就打不开,即使打开了,也编译不过。必须要用对应版本的编译器才能编译调试。那么,问题来了,怎么知道这个IAR工程用的是那一个版本的IAR。打开*.ewd文件,如下,大概在15行的地方。这里的版本就是上一次打工此工程的编译器的版本号,所以,如果你用最新的版本号打开,这里就会马上变化了。version=26时,版本号为。.........原创 2022-07-20 14:57:38 · 2963 阅读 · 3 评论 -
IAR批处理编译工程
在使用IAR编译MCU工程时,尤其是正式发布的时候,需要先打开IAR工程,再清空,最后再整个重新编译。步骤比较多。那么有没有简单一点的方法呢?比如用批处理文件实现一键清空再重新编译整个工程。是可以的。批处理文件如下:rebuild.batecho =================先清除======================="C:/Program Files (x86)/IAR Systems/Embedded Workbench 8.1/common/bin/IarBuild.e原创 2021-11-05 10:11:35 · 2061 阅读 · 0 评论 -
伺服电机开发
开发板毫无疑问,无论是直流无刷还是直流有刷,用的都是伺服电机的控制方案。所以第一步是先要找一块DSP开发板。开发板选型怎么选择一块好的开发板呢?首先保证一点,这个开发板的方便必须是最通用的技术,买开发板就是为了学习,学好后,还要迁移和实际的产品中去,所以,必须选最通用的技术。在某宝输入“DSP开发板”这几个关键字,搜索框里马上会提示 "dsp28335开发板",可以看出 28335 这颗DSP是当前最流行,最通用的技术,所以就选28335了,另外,再通过销量,找出销量最大的开发板。最好是有多个店原创 2021-10-25 08:51:10 · 1085 阅读 · 0 评论 -
STM32国产替代
STM32国产替代这里面讲的非常详细:https://blog.csdn.net/sphinz1/article/details/109602323原创 2021-05-13 13:54:30 · 1464 阅读 · 0 评论 -
打开keil工程的批处理
打开keil工程的批处理如下:C:\Keil_v5\UV4\UV4.exe ST_M100\PROJECT\M100_BOOT.uvprojx原创 2021-04-26 09:00:46 · 426 阅读 · 0 评论 -
GPIO模拟串口
波特为38400波形图如下,可以看出,一个字节的脉宽为26us.原创 2021-03-19 10:30:18 · 1019 阅读 · 1 评论 -
IAR仿真失败:Execution failure in flash loader
IAR仿真失败,提示信息为:Execution failure in flash loader解决方法:原创 2020-12-04 11:39:47 · 6481 阅读 · 1 评论 -
J-Link仿真时断开的问题:低端单片机不能打太多断点
用IAR调试灵动微单片机,仿真器用的是J-Link, 这时,问题来了,以前一直调得好好的,很稳定,可是,现在,变成了仿真着的时候,出现了突然就断开的现象。甚至频繁出现一连上单片机,就断开的现象,提示信息为:解决方法:...原创 2020-12-01 11:37:29 · 1644 阅读 · 0 评论 -
示波器抓取瞬间波形
按下按键“Single”,该键就会变成绿色,这时,就可以抓取瞬间波形啦,非常的简单方便。抓取成功后,如下:原创 2020-11-02 10:30:01 · 16109 阅读 · 0 评论 -
蓝牙模块调试:怎么确认哪一个蓝牙是自已正在调试的呢
由于工作关系,经常要调试蓝牙产品,而且同个办公室有好多人都在调试这个,那么,怎么确认哪一个蓝牙是自已正在调试的呢?这其实是一个相当麻烦的事。有很多的蓝牙调试APK可以选择,如LightBlue等等,可以看到当前坏境一共有多少蓝牙广播信号,然后再把自已的蓝牙断电再上电,看有哪个信息变动了,就可以确定哪个信号是自己当前调试的了。 选用哪个APP,有两点要注意,一是要能方便地看到MAX地址,在蓝牙列表里就能看到,二是要能看到信息的变动。三是要看到的收据能不能装上,这类APP很少去做适配的,手机过旧或者过.原创 2020-10-14 11:22:55 · 2345 阅读 · 0 评论 -
单片机函数单独编译到固定地址,给别的程序调用
参考:《嵌入式中 固化函数接口,并通过函数的入口地址来调用》https://blog.csdn.net/qq_21475601/article/details/77366924 在单片机或嵌入式中,有这样的一个需求,能不能实现和PC上的电脑的DLL功能,把某部分功能单独编译。这样不但便宜开发维护,模块化编程嘛,更重要的是,可以减少FLASH使用量,比如有BOOT和APP两个程序,像USB,CAN等共有的功能,就可以共用,不用再单独写,试问可以减少多少代码量。#ifndef __at#de原创 2020-09-17 09:29:54 · 2300 阅读 · 0 评论 -
BOOT APP 传递超级全局变量的3种方法
参考:https://blog.csdn.net/liyang121316/article/details/12782403保存在RAM中:*.icf配置文件中加入:place at address mem:0x08090000 { readwritesection .test }; C文件里加入:#pragma location = ".test"u32 g_to_be_boot;...原创 2020-08-27 17:45:43 · 1323 阅读 · 0 评论 -
#if defined 等宏义的用法
用法1:#if defined (ENABLE_OUTPUT_DEBUG_MSG) && !defined (POWER_SAVING)表示,如果定义宏 ENABLE_OUTPUT_DEBUG_MSG,并且不定义宏 POWER_SAVING,才执行里面的东西。原创 2020-07-29 09:26:55 · 745 阅读 · 0 评论 -
IAR没声明函数的后果
比有一个函数 void func1(void) 和 void func2(uint32).当省略掉 #include 头文件,或者没加函数声明时,掉用会有什么后果呢?当是C文件时,编译是不会出错的,甚至运行也基本没错,但有一些不正常的地方。void func1(void) 这种没有参数输入的情况下,不声明函数运行都是正常的,没有一点问题,但是 void func2(uint32) 就会出错了,比出调用 func2(0),但是,当你单步进去时,会发现,传进去的数据不是0,而是65536, 这是原创 2020-07-29 09:11:37 · 473 阅读 · 0 评论 -
IAR易错点: 工程配置的选择
遇到一个奇怪的问题,阻了我两天,就是易忽略的Configurations的选择,可能是不小心点选了configurations,但是,由于工程备份只是备份了IAR工程和*.ewp *.c 及 *.h 文件,从SVN还原也无济于事,表现的现象为,预定义的宏和包含的头文件突然不一样了。非常窝心。 那么,修改 Configurations 的地方在那里呢? 一是:二是:方法2是最容易误操作的,估计是不小心点了那里,然后就突然编译不过了。...原创 2020-07-22 15:45:02 · 577 阅读 · 0 评论 -
printf函数简洁实现
#include <stdarg.h>#include <stdlib.h>#include <stdio.h>int My_putchar(int ch){ HalSerial_UARTWrite((uint8 *)&ch, 1); return ch;}char* My_itoa(int value,char str[],int radix) { char temp[33]; char *tp = temp; int i;..原创 2020-07-03 11:09:41 · 320 阅读 · 0 评论 -
C语言获取编译时间
void Get_Compile_Date_Base(uint8_t *Year, uint8_t *Month, uint8_t *Day){ const char *pMonth[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; const char Date[12] = __DATE__;//取编译时间 uint8_t i; for(i = 0; i < .原创 2020-06-11 15:24:17 · 2214 阅读 · 0 评论 -
C++编译问题:not a class or struct name 两个头文件相互包含
编译环境: IAR编译STM32程序。解决方法:原因是两个头文件相互inclue,再加下头文件卫士的作用,就不会把其中的一个头文件的内容包含进来,所以,把其中一个文件的头文件卫士的位置改一下就行。旧的:#ifndef __menu___base___H_____________________#define __menu___base___H_____________________#include "lcd.h"// ............................原创 2020-05-22 09:02:30 · 1225 阅读 · 0 评论 -
增加 stm32 HID 功能
Stm32 HID(不行)注意:代码太坑,但修改的方法却是很有参考价值的,所以保存下来。代码太坑,用的是寄存器操作,和库对应不起来,还不稳定,经常连不上,最坑的是,一定不能选中 usb mico lib 这个选项,否则连不上。垃圾代码。例程来源CSDN上有很多KEIL例程,本次使用:《stm32f103 USB HID 双向通讯的代码》https://download.csdn.net/download/aexisun/9843868?ops_request_misc=%2.原创 2020-05-18 16:03:55 · 882 阅读 · 0 评论 -
keil无法选择单片机类型的问题
现象有些工程可以设置,有些则不可以,如下:解决方法一:(不好)装回keil4就可以解决。解决方法二:(建议采用)装keIl+ keil4兼容包。原创 2020-05-18 15:54:24 · 2083 阅读 · 0 评论 -
【瑞萨单片机】搭建瑞萨单片机开发坏境
IDE下载地址:http://bbs.eeworld.com.cn/thread-471698-1-1.html原创 2020-04-02 14:30:20 · 2353 阅读 · 0 评论 -
【vs2008】写一个USB HID 上位机
网上例程:《USB HID 调试助手 及 程序源码》 https://download.csdn.net/download/iesmile/10851980亲测可用,搭配灵动微的VET6开发板,可以成功收发数据。修改的地方:只需修改一下VID和PID即可。至于查看VID PID的方法,如下:...原创 2020-01-17 10:33:06 · 1306 阅读 · 0 评论 -
【KingstVIS】逻辑分析仪连不上竟然是因为电源
问题点:遇到了一个非常罕见,非常奇怪的问题,当逻辑分析仪地线连上电路板地线时,逻辑分析仪软件就会提示出错。解决方法:方法1:后面尝试一下换个电流源,问题突然就好了。看来,电源的选择也非常重要。方法2:把JLINK插上,也能解决问题。推测,可能是原来的电源不够稳定,或者电路板的电源部分的电路设计不合理,多接一个jlink,应该会起到稳定电源的作用。...原创 2020-01-17 08:58:55 · 2600 阅读 · 0 评论 -
命令行打开IAR
echo offcd IAR_PRJ"C:\Program Files (x86)\IAR Systems\Embedded Workbench 8.1\common\bin\IarIdePm.exe" UART_Print_loop.ewwtimeout /t 15原创 2020-01-13 16:52:51 · 1020 阅读 · 0 评论 -
STM32 SysTick 嘀嗒定时器设置
在main函数的开头就设置,有时,在后面再设置就不起效果了,如下://以下为主函数入口 int main(void) { SysTick_Config(SystemCoreClock / 1000);stm32f10x_it.c文件里修改如下:unsigned long g_System_Tick = 0;void SysTick_Handler(void){ g...原创 2019-12-25 16:45:32 · 546 阅读 · 1 评论 -
离线装keil芯片包
参考: 《Keil5 手动安装STM32 芯片包》https://blog.csdn.net/u012840934/article/details/83051384上官网下载芯片包也未尝不可,http://www.keil.com/dd2/Pack/#/eula-container只是由于在国外,可能会很慢,所以,给大家挑了一个下载快的链接:《keil.stm32f1xx.DFP.pa...原创 2019-12-04 19:14:24 · 1251 阅读 · 0 评论 -
HC-08蓝牙串口实现手机显示打印信息
HC-08蓝牙串口模块是在某宝上买的,单机的打印的调试信息可以通过该模块晃示在手机上,也就可以把手机当成一个屏幕来显示。手机上的蓝牙调试助手有java源码,可以通过该源码进行二次开机。该源码有一个优点,就是可以自搜索连接上蓝牙,在手机自带蓝牙界面打开反而会提示,请用特定软件打开,我觉得这一点非常的好。...原创 2019-11-25 09:58:24 · 1315 阅读 · 0 评论 -
自制ST-LINK
PCB等资料来源:上面说是已量产的版本。《ST-Link v2 PCB文件+原理图+BOM+固件》https://download.csdn.net/download/s2m0204/10662933原创 2019-11-18 09:34:16 · 804 阅读 · 0 评论 -
keil删除编程产生的文件批处理
echo offset CurrPath=%~dp0 cd ListingsDEL /F/S/Q *.mapDEL /F/S/Q *.lstcd %CurrPath%cd ObjectsDEL /F/S/Q *.oDEL /F/S/Q *.axfDEL /F/S/Q *.BakDEL /F/S/Q *.crfDEL /F/S/Q *.dDEL /F/S/Q *.de...原创 2019-10-31 17:39:14 · 1218 阅读 · 0 评论 -
bin文件转化为bmp图片格式
参考: https://blog.csdn.net/weiaipan1314/article/details/51753943原创 2019-10-31 10:43:55 · 4410 阅读 · 0 评论