嵌入式
文章平均质量分 63
黑刀夜
嵌入式从业者
展开
-
对int变量进行赋值,并非原子操作
一条简单的赋值语句testparam = 100; 这一条赋值指令被编译成了3条汇编指令MOVS r0,#0x64 将0x64也就是100存放到r0寄存器LDR r1,[pc,#36] 根据pc的指针找到testParam的地址,也就是0x000288AC地址的内容写入r1,此时r1的值为0x20002AF4STR r0,[r1,#0x00] 将r0的值写入r1寄存器中保存的地址处,也就是将100写入0x20002AF4地址处,完成对tes原创 2022-06-13 11:12:27 · 641 阅读 · 0 评论 -
sqlite语句
查找语句select id,strCN,strEN from String2 where strCN == '' 从表String2中查找三列数据:id、strCN、strEN其中条件是strCN这一列为空。查找语句还可以嵌套使用例如:select id,strCN,strEN from String2 where strCN != '' and id not in (select id from String2 where strEN != '')从表String2中查找三列数据:id、.原创 2022-05-02 17:14:36 · 705 阅读 · 0 评论 -
代码注释规范之Doxygen
一 Doxygen简介Doxygen是一个程序的文档产生工具,可以将程序中的注释转换成说明文档或者说是API参考手册,从而减少程序员整理文档的时间。当然这里程序中的注释需要遵循一定的规则书写,才能让Doxygen识别和转化。目前Doxygen可处理的程序语言包含C/C++、Java、Objective-C、IDL等,可产生出来的文档格式有HTML、XML、LaTeX、RTF等,此外还可衍生出不少其它格式,如HTML可以打包成CHM格式,而LaTeX可以通过一些工具产生出PS或是PDF文档等。二 Dox转载 2022-04-02 15:18:15 · 2421 阅读 · 2 评论 -
Protocol Buffer在MCU上的实现--C语言
一 什么是Protocol BufferProtocol Buffer是一种支持多平台、多语言、可扩展的的数据序列化机制,相较于XML来说,protobuf更小更快更简单,支持自定义的数据结构,用protobuf编译器生成特定语言的源代码,目前protoBuf对主流的编程语言都提供了支持,非常方便的进行序列化和反序列化。官方网址官方支持的语言有:JavaPythonObjective-CC++DartGoRubyC#这里对Protocol Buffer的语法不做过多解释,这篇文章原创 2021-08-04 14:46:18 · 2719 阅读 · 1 评论 -
Cortex-M平台使用RTT打印
本文开发环境sdk: gecko_sdk_3.1IDE: Simplicity Studio 5.0将下列文件添加到工程中:其中segger文件夹下的文件是标准文件。下载地址:使用JLink的6.98版本或以上才能正常打印。低版本找不到EFR32BG22系列的芯片类型。JLink下载地址:https://www.segger.com/downloads/jlink/调用方法:void app_init(void){ INIT_LOG();//初始化log LOGI(原创 2021-03-25 16:04:27 · 383 阅读 · 0 评论 -
使用keil 生成bin文件
简单起见只需要添加一行命令:点击魔法棒 -> User 把Run #1勾选上填入命令:C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o .\bin\application.bin .\_build\application.axfC:\Keil_v5\ARM\ARMCC\bin\fromelf.exekeil的安装目录–bin -o固定参数.\bin\application.bin指定bin文件的生成路径和名字,"." 是相对于工程文件(.原创 2020-07-07 11:20:19 · 317 阅读 · 0 评论 -
合并两个hex文件
http://www.keil.com/support/docs/2666.htm原创 2020-06-17 14:17:22 · 907 阅读 · 0 评论 -
Keil调试的时候会莫名的跳过某些行代码
在使用Keil进行调试的过程中,有的时候你可能会发现有几行代码怎么也得不到执行,下断点也得不到执行。甚至有时候在做条件判断的时候,明明两个不相等的值却被判定为相等。导致这些奇奇怪怪的现象是因为keil对我们的代码做了优化。将优化等级调到0即可解决这种问题。...原创 2020-03-25 17:37:56 · 6701 阅读 · 5 评论 -
加速度计和陀螺仪区别
现代移动及车载终端包含越来越多的传感器,陀螺仪、加速计、磁力计、感光器等等,从原理上讲,这些传感器的本质都是相同的,都是把外部环境变化转化为通信系统可理解的电信号的过程。像温度计、光感器等传感器,因为功能单一非常容易理解,而陀螺仪、加速计和磁力计则因为原理及结构复杂,导致实际功能出现重叠,但又各有特点和局限性,在实际应用中很容易对其应用边界产生混淆。一 陀螺仪陀螺仪(Gyroscope、GYR...转载 2020-01-11 17:23:55 · 13703 阅读 · 0 评论 -
TI如何修改32.768kHZ的晶振源
1 本文的环境硬件 CC1352,官方提供的开发板CC1352R1_LAUNCHXLIDE Code Composer Studio 9.2.0sdk simplelink_cc13x2_26x2_sdk_3_30_00_032 修改晶振源导入sdk提供的simple_peripheral_app_CC13X2R1_LAUNCHXL_tirtos_ccs工程,默认使用的是外部的32....原创 2020-01-11 11:49:10 · 2914 阅读 · 0 评论 -
开发TI 的 CC1352R 工具选择
一 导入sdk的demo编译报错错误内容 Offending text: "iarbuild.exe $SIMPLELINK_CC13X2_26X2_SDK_INSTALL_DIR$/kernel/tirtos/builds/CC1352R1_LAUNCHXL/release/iar/tirtos_builds_CC1352R1_LAUNCHXL_release.ewp Debug -l...原创 2019-12-21 11:19:28 · 891 阅读 · 2 评论 -
LPC11xx系列芯片增加串口打印信息
一 串口配置Uart.c#include <stdio.h>#include "lpc11xx.h"#pragma import(__use_no_semihosting)struct __FILE { int handle; };FILE __stdout; //改写了fputc...原创 2019-04-18 18:56:58 · 686 阅读 · 0 评论 -
The connected emulator is J-Link clone
The connected emulator is J-Link clone出现这个错误之后MDK就会闪退,那是因为使用的那个JLink被MDK认为是盗版的。但是正版的Jlink又太贵,所以留给我们只有两条路。第一条转而使用ST Link,ST Link的使用方法跟JLink的使用方法大致相同。另一条就是硬上 —— 破解Jlink。第一条是康庄大道我就不再描述了,直接淘宝就可以了...原创 2020-05-19 15:42:24 · 5076 阅读 · 0 评论