C/C++
jiangchao3392
这个作者很懒,什么都没留下…
展开
-
Flash W25X20CLUXIG
芯片:W25X20CLUXIG-TR大小:2M bit , 256Kbyte 字节 (0x40000=262144)4个块(Block), 每块 64KB=0x1000064个扇区(Sector), 每16个扇区组成1块, 每个扇区 4KB=0x1000, 最小一次擦除一共扇区。Flash 厂商ID等JEDEC:全称是Joint Ele...原创 2019-06-12 09:40:52 · 1396 阅读 · 0 评论 -
SmartSnippets Studio 蓝牙编译环境
1,下载官方DA1468x SDKhttps://support.dialog-semiconductor.com/connectivity/product/da14682-and-da14683?qt-product_restricted_=1#qt-product_restricted_DA1468x SDK1.0.14.1081降下载下来的DA1468x SDK1.0...原创 2019-03-28 20:14:09 · 2858 阅读 · 0 评论 -
近场感应 125K 曼彻斯特编码调制发送
AS3393 125K曼彻斯特编码调制 发送:Tclk为AS3933的时钟32.768KHz,LF_RC_TIME=1s/32.768KHz = 30.517usTcarr为125KHz, Tcarr_TIME= 1s/125k= 8usAS3933的曼彻斯特编码发送: 1为下降沿跳变, 0为上升沿跳变....原创 2019-04-19 11:23:51 · 4375 阅读 · 0 评论 -
AS3933 带时钟恢复的曼彻斯特解码
带时钟恢复的曼彻斯特解码:CL_DAT 为曼彻斯特的时钟,在时钟的上升沿对应稳定的数据。检测CL_DAT 的上升沿, 读取DAT数据。读取一个字节数据:for(i = 0;i < 8;i ++) //接收一个字节{ count = 0; while(!CL_DAT()) //CL_DAT低电平,等待高电平跳出while循环...原创 2019-04-19 16:56:44 · 2191 阅读 · 0 评论 -
433MHz通信 发F115 收SYN480R
平台: STM32F103C8T6芯片F115 发送:数据的发射主要以,低电平的时间来判断,下降沿发送数据,以低电平的时间来区别数据0和1。程序中:发送bbit位1 : 高电平保持 500us 跳变到低电平 保持 450us发送bbit位0 : 高电平保持 500us 跳变到低电平 保持 1000us发送的为一个 3...原创 2019-05-08 15:05:12 · 9813 阅读 · 5 评论 -
C语音 ^ 异或 也称XOR详解
1.概念异或运算符"∧"也称XOR运算符。它的规则是若参加运算的两个二进位同号,则结果为0(假);异号则为1(真)。即 0∧0=0,0∧1=1, 1^0=1,1∧1=0。运算 说明0 ^ 0=0,0 ^ 1=1 0异或任何数,其结果=任何数1 ^ 0=1,1 ^ 1=0 1异或任何数,其结果=任何数取反x ^ x=0 任何数异或自己,等于把自己置02.应用(...转载 2019-05-30 13:28:34 · 3964 阅读 · 1 评论 -
C语音 语法笔记
return:return 语句是提前结束函数的唯一办法。return 后面可以跟一份数据,表示将这份数据返回到函数外面;return 后面也可以不跟任何数据,表示什么也不返回,仅仅用来结束函数。参考:http://c.biancheng.net/view/1855.html% 取余:取余可以实现LED闪烁效果。 if (ledCount % 6 =...转载 2019-06-21 09:29:41 · 261 阅读 · 0 评论 -
程序流程图绘制
绘制软件: Micosoft Visio工程模板下载:https://download.csdn.net/download/jiangchao3392/11578377参考:https://blog.csdn.net/xiaoxinshuaiga/article/details/83310784https://blog.csdn.net/...原创 2019-08-19 08:58:30 · 674 阅读 · 0 评论 -
C语音 unsigned char, int的取值范围
/* exact-width signed integer types */typedef signed charint8_t; // 范围-128~127 (1 Byte)typedef signed short int int16_t; // 范围 -32768 ~...原创 2019-08-19 16:00:49 · 17387 阅读 · 2 评论 -
结构体参数的使用
1, 新建一个结构体m10_api.h----32行//Touch 感应相关参数typedef struct{ unsigned short countPresent; //感应时间计数 volatile unsigned short dropInterval; //2次感应间隔计时计数 volatile unsigne...原创 2019-08-15 19:30:39 · 694 阅读 · 0 评论 -
函数及函数指针
转自:https://zhidao.baidu.com/question/216593300.html ①void int_handler(); ---普通的函数声明②void (*int_handler)(); ---函数指针的声明 ,即声明了一个函数指针,此函数是没有返回值和形参的函数,即①中的函数。③typedef void (*int_handler)(); ---用typed...转载 2018-12-13 00:17:29 · 164 阅读 · 0 评论 -
volatile
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据。如果没有volatile关键字,则编译器可能优化读取和存储,可能暂时使用寄存器中的值,如果这个变量由别的程序更新了的话,将出现不一致的现象。 volatile的本意是“易变的”转载 2017-11-20 20:26:05 · 161 阅读 · 0 评论 -
__attribute__
__attribute__ noreturnThis attribute tells the compiler that the function won't ever return,and this can be used to suppress errors about code paths not beingreached. The C library functionsabor原创 2017-12-05 13:34:25 · 167 阅读 · 0 评论 -
KEIL 注解和去注解 快捷键添加
KEIL 注解和去注解 快捷键添加方法:菜单栏Edit --> Configuration --> Shortcut Keys:1, 例如设置 注解快捷键: Ctrl+/2, 例如设置 去注解快捷键: Ctrl+\查看设置好的快捷键:Keil->Edit->Advanced中有两项: Comment Selection /Uncomment Select原创 2018-01-30 18:14:06 · 26113 阅读 · 3 评论 -
定时循环算法
定时取余循环if(iSecCount%20==1&& Motor==0) // 周期: 0.5s*20=10s 释放保持(20-15)*0.5s=2.5s{ app_timer_set(MOTOR_TIMER, TASK_APP, 1); // MOTOR_TIMER--电机正转,压缩 延时的单位为1...原创 2018-04-03 15:04:11 · 917 阅读 · 0 评论 -
DA14580 蓝牙ADC例程使用
官方例程:\SDK\5.0.4\projects\target_apps\peripheral_examples\adc\batt_lvl\Keil_5 若单独把 adc工程copy出来使用, 把adc 这个文件夹复制到另外一个路径下后, 打开工程后:driver目录下,四个文件都会出现 感叹号 , 解决办法:选中文件,鼠标右键,...原创 2018-04-16 16:34:31 · 1722 阅读 · 0 评论 -
DA14580 空中升级 OTA
1, 测试工程代码 DA14580_OTA测试工程代码下载https://download.csdn.net/download/jiangchao3392/10406404编译环境:keil5编译后生产 HEX文件, 需要先抓BIN文件, 再转IMG文件。 转换工具下载:https://download.csdn.net/download/jiangchao3392/104...原创 2018-05-10 20:01:59 · 1427 阅读 · 0 评论 -
keil 编译完后自动生成bin文件
1,点击2,选择 ‘’User“, 。3,在下方 After Build /Rebuild下填入:fromelf.exe "D:\program\M10_OLD\V1.03_20180705OK\V1.03\project\RVMDK\Obj\M10_RF.axf" --bin --output "D:\program\M10_OLD\V1.03_20180705OK\V1.03\M10_RF....原创 2018-07-09 15:17:31 · 3476 阅读 · 0 评论 -
嵌入式 ARM 编译器
一般我们使用STM32 或其他arm芯片时,使用Keil 开发,keil默认的编译器为ARMCC。 如上图所示:C Compiler Armcc.exe v5.06 update 5 (build 528) 指明了所用C语言编译器 Armcc,版本为 v5.06Assembler Armasm.ext ...原创 2018-11-14 09:58:13 · 1492 阅读 · 0 评论 -
DA14580 启动文件详解
转载地址:https://blog.csdn.net/dear_Wally/article/details/80317934平台: DA14580 官方 SDK5.4.0软件:keil5工程:\5.0.4\projects\target_apps\ble_examples\ble_app_all_in_one\Keil_5 boot_vectors.s 源文件:;/...转载 2018-12-08 01:38:15 · 940 阅读 · 0 评论 -
da14580内部存储空间分布
da14580内部存储空间da14580内部存储空间有:84 kB ROM. 包含Boot ROM code BLE协议栈相关代码.32 kB OTP. 芯片上电时Boot ROM内的代码会检查OTP内是否烧录有代码,如果有烧录则会将OTP的内容mirror到system RAM,然后从system RAM开始执行。 128 kB Flash (DA14583 only)....转载 2018-12-08 01:57:09 · 1612 阅读 · 0 评论 -
宏重定义 头问题重定义解决办法
头问题件重定义:头文件重复包含的问题往往是重定义的问题。下面我们有两种方式解决头文件的重复包含:一个是条件编译的#ifndef...#endif 和 #pragma once. 例如采用:#ifndef __OLED_BMP_H#define __OLED_BMP_H#endif#ifndef __OLED_FONT_H#define __OLED_FONT_H#end...原创 2018-12-09 00:06:54 · 5218 阅读 · 0 评论 -
Keil 编译前后 自动将 hex 转 bin
After Buid/Rebuid 选项下的Run#1 打上勾,在后一格添加一行代码,此代码的功能为将Objects下的project.axf文件转换为project.bin文件输出至Objects文件夹下。其中.axf文件为keil编译过程产生的文件。fromelf --bin --output Objects\project.bin Objects\project.axffro...原创 2018-12-09 01:55:48 · 7085 阅读 · 0 评论 -
C语音 条件编译
预编译条件编译指令将决定哪些代码被编译,而哪些是不被编译的。可以根据表达式的值或者某个特定的宏是否被定义来确定编译条件。包含:#if、#else、#elif和#endif指令 在 user.h文件中定义: #define USE_LED_TASK#ifdef USE_LED_TASK #define USE_LED 1 #else...原创 2018-12-09 02:26:09 · 223 阅读 · 0 评论 -
Keil 安装 ,注册 ,及插件使用
安装注册:参考:https://blog.csdn.net/ybhuangfugui/article/details/51501781插件使用:参考:https://blog.csdn.net/weixin_41489977/article/details/82952784https://blog.csdn.net/stonekangCSDN/article/details/...转载 2019-09-25 09:22:21 · 582 阅读 · 0 评论