关闭
当前搜索:

STM32 USB无法连接电脑

一、说明在调试 STM32 USB device MSC 功能时,使用官方提供的库和示例项目,电脑可以正确识别设备,也可以正常操作。但是将 USB 部分的代码移植到自己的工程后,发现电脑无法正确识别设备,有时会在右下角显示无法识别设备。二、解决方法在main.c中添加 hal_delay() 函数的实现方式。在默认的模板工程里,一般使用如下的方式实现延迟函数。 __weak uint32_t HAL...
阅读(17) 评论(0)

树莓派内核升级的三种方式

一、前言树莓派使用的镜像比较旧了,可以通过两种方式进行升级。一种是本地下载编译升级,即Local build,还有一种采用交叉编译。本次使用第一种方式升级内核。二、升级过程 1、目前的内核版本,使用 uname -a 查看 2、使用 sudo apt-get install git bc 安装必备软件 3、使用 git clone --depth=1 https://github.com/raspb...
阅读(79) 评论(0)

电脑使用模拟器玩手机游戏

一、前言我玩过的游戏并不少,坚持玩下来的只有一个养成类游戏《梦想小镇》,英文名township。虽说玩了也有好几年了,但基本上是玩一段时间就卸载,过很久又重新下载开始玩。好在这个游戏可以使用脸书账号备份,因此进度没丢。手机屏幕小,玩起来视野比较小,在电脑上鼠标玩起来也会比较爽。二、模拟器模拟器使用的是MuMu模拟器。也没用过别的模拟器,因此没有对比,不过感觉这个模拟器还是挺不错的,可以安装play...
阅读(116) 评论(0)

STM32 定时器输入捕获实现红外遥控数据接收

之前已经写过了一个使用定时器普通计时功能来识别红外遥控数据的文章。本次是使用定时器输入捕获来实现,这种方法比起定时器普通计数来说要更加复杂一些,不过效果会更好。 一、原理1、红外发射协议 红外发射协议已经在之前的文章中写过,在此就不赘述。 2、定时器计数和输入捕获 定时器就是按照一个特定的频率对计数值进行加一或减一操作,当数值溢出时则产生一个标志或中断。 定时器的输入捕获就是可以测量输入信号的脉冲宽...
阅读(271) 评论(0)

Arduino 按键实验

一、功能实现按键控制LED亮灭。按下点亮,再次按下熄灭。二、原理图三、代码int ButtonState; int ButtonLastState; int ButtonCounter;void setup() { // put your setup code here, to run once: pinMode(13,OUTPUT); pinMode(11,INPUT_PULLUP);...
阅读(281) 评论(0)

STM32 定时器实现红外遥控数据接收

一、原理1、红外发射协议 红外通信的协议有很多种。这个实验使用的是NEC协议。这个协议的采用PWM的方法进行调制,利用脉冲宽度来表示0和1。 NEC 遥控指令的数据格式为:同步码头、地址码、地址反码、控制码、控制反码。同步码由一个9ms的低电平和一个4.5ms的高电平组成,地址码、地址反码、控制码、控制反码均是 8 位数据格式。按照低位在前,高位在后的顺序发送。采用反码是为了增加传输的可靠性(可用于...
阅读(383) 评论(0)

leetcode: power of three 三种解法

一、题目leetcode 上有这么一道题,power of three.题目如下: Given an integer, write a function to determine if it is a power of three. 要求: Could you do it without using any loop / recursion? 就是说给出一个数,判断该数是否是 3 的 n 次...
阅读(179) 评论(0)

STM32 BSRR BRR ODR 寄存器解析

一、用法经常会看到类似如下的宏定义语句,用于对已经初始化后的 IO 口输出高、低电平。#define SET_BL_HIGH() GPIOA->BSRR=GPIO_Pin_0 #define SET_BL_LOW() GPIOA->BRR=GPIO_Pin_0其作用类似于如下两个库函数,void GPIO_SetBits(GPIO_Typedef* GPI...
阅读(304) 评论(2)

C语言变量声明加冒号的用法

原文链接:博客园 C语言变量声明加冒号的用法有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几 个不同的区域,并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就...
阅读(188) 评论(0)

utf-8 to unicode

一、utf-8 unicode utf-16 1、unicode 使用两字节表示字符。 2、utf-8 和 utf-16均为变长编码,使用1~4个字节来表示字符。 3、utf-8 和 utf-16是不一样的,汉子使用 unicode 表示是两个字节,utf-8 是三个字节,utf-16 是两个字节。 4、utf-8 只是 unicode的一种实现方式,类似的方式还有 utf-16 和 utf-32。...
阅读(276) 评论(0)

WIN10版OneDrive不能登录,显示正在同步其他账户

一、错误现象前几天通过Win10系统的推送进行了小版本的更新,更新之后需要重写登陆OneDrive,但是登陆却出现错误,提示正在同步其他账户,根据系统的指示在设置中更改账号并不能解决。 二、解决方法1、控制面板卸载OndDrive不过一般在控制面板是找不到OneDrive的,因此需要先执行安装包安装程序。安装包的路劲为C:\Windows\SysWOW64 之后便可以在控制面板卸载程序中找到On...
阅读(840) 评论(0)

WIN10 更新系统后,串口无法连接

一、问题 1、WIN10 更新系统后,无法连接 ST 开发板上 USB 转串口,但可以正常的下载程序。 二、解决方法 1、尝试更改 COM 口,例如从 COM3 转为 COM4。 2、尝试更新 ST-LINK 的固件版本,如下: 之后便可正常使用了:...
阅读(1740) 评论(0)

C语言 查找字符串子串 返回位置

主要的思路就是,不断的从母串 str1 中取出和子串长度相等的临时子串 temp_str,与子串 str2 进行比较。没有找到子串,返回 -1;成功找到子串,返回子串首字母在母串中的位置,该位置从 0 开始。#include #include char temp_str[30]; // 临时子串void ReadStrUnit(char * str,ch...
阅读(2967) 评论(0)

制作字库(Bin文件合并 C2BIN)

一、点阵文件生成 1、使用点阵字库生成器生成文字的点阵信息,采用 UNICODE 编码批量生成。 2、如果具有 C 文件的字库,例如 STM32 开发板的库函数 x:\en.stm32cubef4\STM32Cube_FW_F4_V1.14.0\Utilities\Fonts 中的字库 C 文件,可以使用 C2B转换助手,这个软件可以将 C 文件中的字符数组信息转换成 bin 文件。结果如下图所示:...
阅读(757) 评论(0)

字符串指针与字符数组的区别

本文装载自 CSDN 博客http://blog.csdn.net/okliujieko/article/details/6821321, 代码部分略作修改,从C++ 转成 C;修改了原文中的错别字用字符数组和字符指针变量都可实现字符串的存储和运算。但是两者是有区别的。在使用时应注意以下几个问题: 1.字符串指针变量本身是一个变量,用于存放字符串的首地址。而字符串本身是存放在以该首地址为首的一块...
阅读(220) 评论(0)

Source Insight marco:MultiLineComment

一、使用场景Suorce Insight 中内置了一些实用的快捷键命令,可以在 Options->Key Assignments 中看到。另外,SI 还提供了用户自己添加功能的方法,就是 marco 指令。SI 内置了 13 种快键指令,例如:Marco: KillLine //删除整行 Marco: PasteKillLine //粘贴刚刚删除的一行 ...只不过默认这些功能都是没有绑定...
阅读(546) 评论(0)

I2C Bit-Bang 程序分析

一、Bit Bang关于 Bit Bang 的解释:Use software to control serial communication at general-purpose I/O pins,简单来讲就是使用软件通过 IO 脚去实现 I2C 的时序从而使用 I2C 协议进行通信。这样做的好处是可以突破硬件上的限制,例如芯片不具有硬件 I2C 模块,或者硬件 I2C 模块损坏,又或者使用硬件 I...
阅读(261) 评论(0)

Source Insight 更新4.0版本

一、使用体验 source insight 终于大版本更新了。我开始使用 SI 是去年,那时候是 3.5 的版本,就觉得这是一款神器,搭配 Keil 和 IAR 等编译软件使用,可以提高单片机编程的效率。SI 有很多的特性是 keil 和 IAR 不具备的,作为一个代码编辑软件来说,很多功能确实很强大。只不过官方久久不更新,所以很多现在主流 IDE 或者代码编辑器的一些实用功能都不支持。这次更新,...
阅读(5127) 评论(2)

f_open()使用错误记录

一、现象调用函数 f_open() 后,程序崩溃,调试后发现,单片机产生硬件中断,即软件跳入如下部分:void HardFault_Handler(void) { /* Go to infinite loop when Hard Fault exception occurs */ while (1) { BSP_LED_Toggle(LED3); } }二、错误代码代码错误处...
阅读(434) 评论(0)

STM32 SysTick定时器

一、说明SysTick 定时器是实时操作系统专用的,但是也可以作为一个标准的递减计数器使用。它具有以下特点: 1、24位递减计数器(16777216) 2、自动装填能力 3、计数器达到 0 时,有可屏蔽的系统中断产生。 4、可编程时钟源 (HCLK 或者 HCLK/8) 该定时器具有四个寄存器,如下表所示:一般,该定时器的计数周期为一毫秒,则寄存器LOAD中的值根据 MCU 主频的不同而不同。例如,...
阅读(327) 评论(0)
98条 共5页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:318163次
    • 积分:3445
    • 等级:
    • 排名:第10998名
    • 原创:94篇
    • 转载:3篇
    • 译文:1篇
    • 评论:79条
    文章分类
    最新评论