自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 网件路由器设置电子邮件发送日志到QQ邮箱

开启QQ邮箱的SMTP服务(可以百度更详细的步骤):先进入QQ邮箱网页,点击左上角的“设置”,选择“账户”,下滑至“xxx/SMTP/xxx服务”这里,开启SMTP服务,并“生成授权码”,记录生成授权码。设置路由器“电子邮件”参数:进入网件路由器界面,选择“高级”->“安全”->“电子邮件”;勾选“打开电子邮件通知”,“发送到下面的电子邮件地址”和“Sender”和“用户名”均填入QQ邮箱地址(三个邮箱地址必须一样!),“您的邮件发送服务器”填入“smtp.qq.com”,“外发邮.

2022-01-16 21:23:25 1990

原创 C语言利用WinAPI控制黑窗(控制台窗口)光标位置

直接上代码:#include <stdio.h>#include <stdlib.h>#include <Windows.h>//设置光标位置void SetPos(int x, int y){ COORD point={x, y}; //光标要设置的位置x,y HANDLE HOutput = GetStdHandle(STD_OUTPUT_HANDLE); //获取标准输出句柄 SetConsoleCurs

2021-05-31 21:46:07 682 2

原创 python 根据“靶点坐标”反求“炮管抬升角度”并绘制“轨迹线”

直接先放代码(在pyCharm中编写并运行,需要导入数学库随机库和图表库)import math # 数学库import randomimport matplotlib.pyplot as plt # 图表库# 绘图属性设置plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签plt.title('斜抛轨迹') # 标题plt.xlabel("水平距离/m") # x轴标签.

2021-05-22 00:40:05 984

原创 STM32要按复位键才能下载问题解决

拿别人的Keil工程来测试,点击下载程序显示:“no target connect”,检查过不是BOOT0/1的问题,最后发现按下板上的复位键时点击Keil下载程序。松开复位键就能烧录程序进去。用示波器测量ST_LINK SWD 的reset引脚在点击下载时根本就没有复位低电平信号,同时也发现只有在按住板上复位键时,点击魔术棒-Debug-Setting才能检测到单片机SWDIO,否则就显示“no target connect”:我打开之前正常的工程来比对,发现是Setting-Debu

2021-04-17 13:39:14 11496 6

原创 Keil5给工程添加组,Keil卡死。

问题:通过“Manage Project Items”添加组文件夹,点击OK后Keil卡死。解决方案:方法1.使用“Add Group”添加组文件夹,再重命名文件夹,这种方法不会导致Keil5卡死。方法2.将 “Manage Run-Time Environment” 中 “CMSIS” 的 “CORE” 的对勾去除,就可以通过“Manage Project Items”添加组文件夹了。...

2021-04-08 08:56:36 4831 1

原创 HC-SR04:STM32驱动环境下,超声波返回脉宽固定3us不变的问题

问题:用STM32驱动HC-SR04超声波模块,发现超声波有返回高电平脉宽,但是脉宽非常短且不会随着距离变化;检查:通过示波器查看波形,启动超声波有13us的高电平脉宽,大于10us,是正确的,但是返回的脉宽只有3us左右不会变化宽度;原因:其实是用了3.3V给HC-SR04超声波供电,就会出现这种问题;使用5V给该模块供电,模块返回的脉宽就正常了;(注意STM32与HC-SR04连接的IO是否兼容5V,以防止损坏IO口)。...

2021-04-08 08:41:21 724 2

原创 KEIL5下载并安装STM32包

1.登陆官网https://www.keil.com/2.点击Products:3.点击Arm Development Tools :4.点击Public Software Packs:或者打开该网址直接跳转到安装包下载页面https://www.keil.com/dd2/pack/ ,如果出现了下图这种情况,将网址复制到手机,用流量打开该网页就可以见到下载单了(我的是中国移动):再不行的话爬梯出去绝对可以,5.找到Kei...

2021-03-05 17:26:29 24742 16

原创 32.768K晶振通过CD4060分频后频率过高

刚学数电时序逻辑,萌生了个想做电子钟的念头,计数和显示部分还好,就是晶振搞了好久

2021-01-03 00:37:09 8774 7

原创 scanf()函数获取到换行字符‘\n’,分析及解决

我们在控制台给scanf()输入完后要按下回车键确认以继续执行,然而这个回车键也会留在输入缓存区,当scanf()把指定的字符取走后就会留下'\n'字符。如果程序继续往下执行到下一个scanf()或getchar()时,就有可能获取到‘\n’字符,之所以所“有可能”,是因为当scanf()想要获取%c时会获取‘\n’换行字符,而如果是'%s'、‘%d’、‘%f’等非字符格式想要获取时,就会忽略无效的字符,‘\n就会被忽略掉了。所以只有scanf("%c", &c)..

2020-11-24 22:25:49 3571

原创 嘉立创PCB打样不是5元而是23元?

当下单界面显示23元时选24小时加急会显示“此文件资料不是单板”,但是我并没有拼版,说明我的板框可能设错了。   我之前的板框画在机械13层,把它剪贴到机械1层再上传就变回5块钱打样了。...

2020-11-17 15:09:40 2481

原创 Visual Studio 2019的 scanf(); 函数报错

C4996报错大意为:‘scanf’这个函数不安全,用‘scanf_s’代替。使用_CRT_SECURE_NO_WARNINGS语句让其不报错。   所以对于这种问题有三种解决方案: 1.把scanf函数换为scanf_s函数; 2.在菜单项目 -> 最后 一项“扳手,输入输出属性” -> 配置属性 -> C/C++ -> 预处理器 -> 预处理器定义(编辑)在编辑框里加一句命令_CRT_SECURE_NO.

2020-11-13 13:37:44 537 1

原创 AD软件——把原理图库 和 PCB元件库封装模型 关联起来

S1:原理图库 -> Properties(属性) -> Parameters(参数) -> Add -> FootprintS2:弹出一个PCB模型对话框,点击 浏览 或者 直接输入名字 选择对应的 PCB库封装模型。

2020-11-07 11:01:34 21852 2

原创 Code Blocks 安装后编译出现“编译器无效”问题。

编写程序并编译后出现如上图报错,大致意思为:编译器安装无效,所以编译器无法运行编译器,请检查编译器路径有没有正确配置,并且给出了个修改步骤,最后说设置的路径没有找到编译器文件。。。解决方法:S1:首先我们要确定我们下载安装Code Blocks是带有编译器版本的,就是带有MinGW的版本:下载地址:http://www.codeblocks.org/downloads/26S2:然后给软件指定MinGW的所在路径:菜单栏Settings -> Compil...

2020-11-01 13:15:15 2544

原创 Code Blocks 再次打开工程时中文乱码问题(特别是三个汉字字比如姓名)。

在学校学C语言,我们用的是Code Blocks软件,发现如果程序中有汉字,重新打开工程时汉字会变成乱码,但是控制台显示是正确的,如果把乱码改回正确的汉字,那控制台输出就会乱码。解决办法:S1: Settings -> Editor -> Generral settings -> Encoding settings当文件打开时使用编码 改为 UTF-8S2: Settings -> Compiler -> Global compiler ...

2020-10-31 12:38:41 541

原创 用单片机读取SD卡逻辑容量与电脑上显示的容量有一点点偏差?

一个60MB左右的SD卡。单片机将从SD卡中的CSD寄存器中获取到BlockNbr和BlockSize(有几个块、每个块几个字节),把这两个数相乘就是SD卡容量大小(单位字节),具体计算方法网上很多这里不介绍了。如果是用CubeMX生成的程序,生成的SD初始化程序已经把CSD寄存器值的内容解析出来放在hsd结构变量内,BlockNbr和BlockSize在“stm32f4xx_hal_sd.h”下的“HAL_SD_CardInfoTypeDef”结构体里,把hsd.SdCard.LogBlockNb

2020-07-05 23:20:36 1020

原创 SDIO挂载多张SD卡

很多串行接口上都会挂载多个设备,为了使多个设备不冲突设置了“设备选择”和“仲裁机制”,比如SPI需要主设备给每个从设备安排一条CS片选线,IIC虽然没有片选线,但是对设备读写操作时还需要一个设备地址(设备地址是设备自带的);SD卡通信如果是SPI模式时无法读出卡的相对地址(RCA),但是可以通过片选CS线决定对哪张卡进行操作;在SPI模式,只有RCA寄存器不能访问。其他寄存器的格式与SD模式下相同。SD卡如果使用的是SD模式时没有片选线,只有时钟SCK线、命令CMD线、D0~D3数据线,但是S.

2020-06-30 16:14:43 2960

原创 TCD1304输出波形跳动不稳定?类周期性跳动?

由于白天太阳太猛烈,前天晚上才测试TCD1304线性CCD,波形出来了,曝光也调好了才发现这个波形怎么一上一下地跳动,反复检查时序甚至换一片CCD还是照旧,怀疑是不是“运气好”两片都买到坏的(原片应该很贵,我这是某宝上15块钱一颗的二手拆机件吧)。供电电压5V;输出周期14.8ms;测试图案:一张白纸上用黑笔画一条粗线一条细线,纸张覆盖在CCD上;故障波形图:(可以看出好像有某种规律变化,一会有一会没)CH2:OS信号输出(通过三极管射随器放大)CH1:ICG控制信号(此处波形.

2020-06-29 15:34:05 3480 10

原创 STM32F103单片机的PWM :频率 与 定时器中断问题

测试用的单片机是STM32F103C8T6 @72MHz,使用TIM1的通道1输出PWM。示波器200MHz带宽(原120MHz软升级)。TIM1配置:预分频值:Prescaler(PSC) = 0;自动装载值:Counter Period(ARR) = 1;捕获比较寄存器值(设置脉宽):Capture Compare Register(CCR) = 1;如此设置PWM频率可达72/2=36MHz。TIM1_CH1引脚悬空波形(采样率不足,波形变形)......

2020-06-26 12:52:10 7240 5

原创 STM32F1 使用PWM时 互补通道CH1N 无波形输出(CubeMX生成程序)

原解决方法在STM32 cube论坛上:http://stm32cube.com/article/149就是说在生成项目程序出来后,需要通过这条函数来开启TIM?_CH?引脚的PWM波形输出:HAL_TIM_PWM_Start(&htim?, TIM_CHANNEL_?);还需要用这条函数来开启TIM?_CH?N引脚的PWM波形输出:HAL_TIMEx_PWMN_Start(&htim?, TIM_CHANNEL_?);...

2020-06-26 02:00:07 2747 1

原创 STM32CubeMX_5.6.1无法生成KEIL工程,不要装任何高版本Java

上回刚刚解决完STM32CubeMX生成了个不能烧录的工程问题,手贱升级了STM32CubeMX到5.6.1版本,没想到这次连KEIL工程都生成不了,提示:Code GenerationThe Code is successfully generated under D:/xxxxxxbut MDK-ARM V5project generation have a problem.在之前呢这个问题是由于路径有中文字符引起的,这次没有中文字符也报错。在网上找到了https://blog.csdn.

2020-05-30 14:50:18 2946 2

原创 KEIL5烧录提示” No target connected”,因为STM32CubeMX软件问题

翻出一个旧工程,通过工程文件下的xxx.ioc打开STM32CubeMX修改些东西并Generate code。打开KEIL5工程后说我的Device找不到什么的巴拉巴拉,并且魔术棒里的单片机型号、调试器都是默认值,在重新设置好魔术棒里的参数后,烧录。。。弹出” No target connected”。我以为是SWD的GPIO口被占用了导致的,这种情况的话只要让它保持复位并在烧录时松开复位即可(也是网上常见的解决No target connected方法),但是我程序中并没有使用这几个IO,而且这种方.

2020-05-30 13:26:42 3774

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除