
笔记
莫邪博客
工作于嵌入式单片机行业,熟悉使用C/C++语言、STM32/51单片机等芯片,熟悉在ARM/linux等多种环境下开发应用程序,在蓝牙/WIFF有相关工作经验,会一些简单的C#界面编写
展开
-
UNUSED()函数的作用
上面程序中,这个程序的主要功能是重构paint函数,我们看到了在这个函数的最开始,存在两处UNUSED(),这两处的功能是防止编译器发出警告,警告option与widget两个变量没有调用,当加入这个函数时,编译器就不会再产生warning告警,避免编译时候警告过多。UNUSED()函数在程序中的作用,就如它所代表的英文一样,unused,即无用的意思。即UNUSED()函数在程序中没有实质性的作用,用来避免编译器警告。以上就是UNUSED()函数的介绍,只要见过一次,这个函数就不会在产生疑惑。原创 2023-07-08 15:32:06 · 2683 阅读 · 0 评论 -
【工具】Vscode翻译插件推荐
2、shift+ctrl+p 打开设置,输入translate。4、点更改翻译源,后切换成Google翻译以外的翻译源即。1、扩展中搜索comment translate,下载。原创 2023-02-23 15:02:43 · 4725 阅读 · 0 评论 -
iap2中文翻译
57.2每个iAP2连接都始于通过受支持的传输方式在附件和设备之间建立连接。该链接协议提供了一种与传输无关的机制,用于可靠和有序地交付属于一个或多个iAP2会话的数据包化数据。该协议还可在每个连接的基础上进行配置,并可以在任何特定的传输和附件使用配置文件上被优化为最佳性能。某些协议特性有助于实现这些目标:积极确认已收到的数据包。重传输只需要重发送序列中未确认的数据包。对iAP2会话的明确和有效的支持。通过以下传输方式支持IAP2:●蓝牙(第488页)。●UART(第469页)。●USB设备模式(第原创 2022-10-27 18:13:07 · 1663 阅读 · 0 评论 -
ios-mfi_蓝牙部分翻译
●使用由蓝牙SIG分配的已分配号码规范中的公司标识符作为供应商ID值(VID),请参见https://www.bluetooth.com/specifications/assigned-numbers/company-identifiers/.蓝牙HID配置文件附件可以使用由USB实现者论坛(USB-IF)分配的VID,如果制造商没有蓝牙SIG公司标识符,请参见https://www.usb.org/getting-vendor-id。在没有定义的路由的情况下,设备将默认进行音频播放。原创 2022-10-27 18:11:51 · 1647 阅读 · 0 评论 -
IAP2 通过蓝牙
前言iAP2协议,是苹果MFi技术中的一种,是一个非常完整、经典的通讯协议。两个设备互相使用数据包来通信,考虑到了通讯的完整性、正确性和效率。作为数据包通信学习,是一个非常好的案例。正文配件可以使用iAP2协议来访问高级设备功能。其中一项功能是通过iOS外部附件框架与第三方iOS应用程序进行安全通信的能力。iOS External Accessory Framework:About External Accessories在Accessory Interface Specification R39.pdf中原创 2022-10-27 18:07:02 · 1801 阅读 · 1 评论 -
【蓝牙知识】蓝牙与 WiFi相关总结
广播信道:37 、38、39,对应的中心频率是2402MHz,2426MHz,2480MHz。每次广播,都会在3个信道上将广播数据发送一次,这能有效地避免干扰,即使一个信道存在干扰,另外的信道也可以很好地工作,而三个信道同时被干扰的情况极少。每个信道的有效宽度是 20MHz,另外还有2MHz的强制隔离频带(类似于公路上的隔离带)。(1)关于射频、微波、天线、无线通信、智能硬件、软件编程、渗透安全、人工智能、区块链,Java、Android、C/C++、python等综合能力的培养提升。原创 2022-10-25 20:52:48 · 993 阅读 · 0 评论 -
vscode——VScode中增加翻译插件
这款插件还配有自动翻译功能,但不是特别灵敏好用,按 Ctrl + Shift + P 输入 translate 选择翻译选区即可。ps:选择源不要选择谷歌,选择bing比较稳定。选中自动翻译,很简单。原创 2022-10-18 15:00:53 · 10404 阅读 · 3 评论 -
嵌入式学习入门学习方向经验分享
~~入门阶段:(不要只看书,要多动手,但千万不是直接动手,不去看书)C语言:嵌入式编程大多用C语言、少量汇编,先学习C语言,汇编用到的时候再上网查询。教材:随便一本C语言大学教材,快速入门,电脑上照着教材敲代码,掌握基本语法,有问题网上搜索解决。 51单片机:看书了解单片机是个什么东西,单片机的基本原理,然后买开发板学习,照着视频学习一遍开发板上的基本模块操作。掌握IO操作、UART通信、模拟IIC和SPI通信、中断的原理、定时器计数器。书+开发板。 简单模块:数码管、蜂鸣器、电机、按键、流水灯等;【不一定原创 2022-06-10 10:15:49 · 409 阅读 · 0 评论 -
JLink烧录时出现警告-解决办法
可能是盗版烧录器原因,keil下编译时经常弹出警告,虽然勉强可以烧录完成,但是keil工程随后就会自动关闭;百度找了很多资料,终于看到了一个方法解决了;我的JLink驱动版本是:v7.52,Keil版本是5.29,使用JLink调试时一直弹JLink Warning这个警告,虽然能继续仿真,但是总还是让人不爽,经过分析,只要把Keil安装目录下的ARM\Segger目录里的JL2CM3.dll换成Keil4目录里的这个文件就好了之后没看到固件版本号了,但是可以正常烧录没有警告;...原创 2022-05-27 09:47:33 · 3656 阅读 · 1 评论 -
Sublime Text 设置成中文版(完整教程)
https://www.cnblogs.com/AngelTp/p/12955731.html#_label2网址如上,本人亲测可以原创 2022-02-28 15:45:59 · 668 阅读 · 1 评论 -
单片机编程之8421码
前面我们已经练习了很多51的代码,在编写代码的过程中,经常会遇见一些需要处理的数据,例如在流水灯总线控制方法中,代码中会使用16进制数来代替P0或P2端口的数据,这样就无需将端口一一写出,十分方便。我们使用的方法只是把如同:00011101这类的端口数据直接转换成了16进制,中间是如何转换的呢,就是编程语言中最常见的二进制转十六进制,这里我就用到了进制转换,二进制转十六进制,看着就比较麻烦,口算也有一定难度,于是会用些简便方法,可以快速完成转换,就是前四个看成一组,后四个看成一组,然后分别处理,我们可以看原创 2021-10-28 11:52:26 · 1822 阅读 · 1 评论 -
Ubuntu18.04系统py2与py3切换方法
前言Ubuntu18.04系统在安装python时会安装两个版本:2.7和3.6.默认情况下系统环境使用的是python2,但是我们有时需要使用python3来作为我们的开发环境,所以需要自由切换python版本.python2切换成python3sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100sudo update-alternatives --install /usr/bin/python原创 2021-10-21 14:00:19 · 432 阅读 · 1 评论 -
TG_7100b准备开发环境
请在 64 位 Ubuntu 下搭建开发环境。Win10 系统可以在应用商店下载安装Ubuntu18.04 LTS。其他用户可以安装虚拟机软件。以下为基于 Ubuntu 环境开发和编译 SDK 时需要用到的库和依赖包,请您按顺序执行命令来安装。 安装程序运行时库Ubuntu(版本 16.04 X64)sudo apt-get updatesudo apt-get -y install libssl-dev:i386sudo apt-get -y install libncurses-dev原创 2021-10-20 16:51:28 · 871 阅读 · 0 评论 -
此主机不支持“Intel EPT”硬件辅助的 MMU 虚拟化。。
启动虚拟机Vmware报错为此主机不支持 Intel VT-x。如下图试了百度上很多方法:1.关于虚拟机的打开:如果提示"此主机支持Intel VT-x,但Intel VT-x处于禁用状态" 那么 就先进bios 芯片 然后设置Intel Virtualization Technology 为Enabled即可如果此时还是不能打开 而显示模块cpuidearly启动失败 那么可以更改C:\ProgramData\VMware\VMware Workstation\config.ini 添加一句:原创 2021-10-19 11:06:13 · 18803 阅读 · 4 评论 -
LE5010x_ADC查询法
#include "lsadc.h"#include "ls_ble.h"#include "cpu.h"#include "platform.h"#include "io_config.h"#include <string.h>#include <stdlib.h>#include "lsdmac.h"#include "log.h"#include "field_manipulate.h"static ADC_HandleTypeDef hadc;uint原创 2021-10-12 10:40:13 · 2948 阅读 · 0 评论 -
常用汇编指令大全(有注释)
一、数据传输指令───────────────────────────────────────它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.通用数据传送指令.MOV 传送字或字节.MOVSX 先符号扩展,再传送.MOVZX 先零扩展,再传送.PUSH 把字压入堆栈.POP 把字弹出堆栈.PUSHA 把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.POPA 把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.PUSHAD 把EAX,ECX,EDX,EB原创 2020-07-07 18:10:53 · 5683 阅读 · 2 评论 -
用c写的酒店客房登记管理系统
#include<string.h>#include<stdlib.h>#include<stdio.h>#include<conio.h>#include<Windows.h>typedef struct tagCustomer{char m_ID[19]; /身份证号码/char m_name[10]; /顾客姓名/int原创 2020-06-19 19:17:08 · 2140 阅读 · 4 评论 -
STM32打印当前GPIO口输出状态
判断STM32 GPIO输入口的输入状态(高电平或低电平)以PE2和PE4为例:① 判断单个端口是否为高电平:if(GPIOE->IDR& GPIO_IDR_IDR2){函数体;}当PE2端口为高电平时,if条件为真;当PE2口为低电平时,if条件为假;② 判断单个端口是否为低电平:if((~GPIOE->IDR)& GPIO_IDR_IDR2){...原创 2020-05-05 19:07:48 · 1784 阅读 · 1 评论 -
总结STM32-STOP如何稳定最低功耗方法
停止模式基于 Cortex®-M4,带 FPU 深度睡眠模式,并结合外围时钟门控。电压调节器可以在正常或低功耗模式下配置。在停止模式下,1.2 V 域中的所有时钟都将停止,PLL、HSI 和 HSE RC 振荡器被禁用。内部 SRAM 和寄存器内容将保留。为了达到STM32极致低功耗的水平,在进入STOP模式前需要做一些配置:1、ADC必须除能,adc在stop模式下也会产生功耗,休眠前加上A...原创 2020-05-05 16:35:48 · 1199 阅读 · 0 评论 -
黑客学习路线
原创 2020-04-19 13:41:49 · 557 阅读 · 0 评论 -
stm32f103停止模式低功耗设置(最低5.7ua)
刚开始进入STOPMode后,整机功耗有300uA的,此时外围其他硬件电路电流已经可以肯定漏电流在nA级,因此调试方向在主芯片,经过实际测试,都是GPIO配置的问题,比如某个GPIO为中断输入,闲置为低电平,而我们配置成了IPU,因此内部的40K上拉就会在这里消耗3/40k =75uA,另外将N.C的GPIO配置成Floating Input,也会有一些漏电流,实际测试漏电流不大;另外将STM32...原创 2020-04-14 00:08:04 · 3203 阅读 · 0 评论