- 博客(46)
- 资源 (9)
- 收藏
- 关注
原创 逻辑分析仪抓取波形参数设置
在抓取id卡数据线波形时,出现很多纳秒级别的脉冲,影响观看,把sample rate从40M/s降为2M/s,效果好多了。
2017-10-30 21:54:46 3324
原创 V3S开发中自己常用的命令整理
adb push d:\tmp\devname.txt /data/adb push d:\tmp\guid.txt /data/adb push d:\tmp\licence.txt /data/adb push d:\xia001.png /data/twocode.pngadb push e:\tmp\devname.txt /data/adb push
2017-10-28 14:33:45 1364
原创 ST17H26上下拉电阻设置注意事项
GPIO_GP17 ~ GPIO_GP24GPIO_GP26GPIO_GP27GPIO_GP31 PM_PIN_PULLUP_1MPM_PIN_PULLUP_10KPM_PIN_PULLDOWN_100KPM_PIN_UP_DOWN_FLOATGPIO_GP0 ~ GPIO_GP16GPIO_GP32 PM_PIN_PULLD
2017-10-28 13:56:18 578
原创 ST17H26开发小总结
断断续续的3周时间,主要摸索了以下几个方面:1.io口的读。2.io口的写。3.模拟iic操作24c16。4.模拟IIc操作rc522。5.pwm信号输出。6.通过io口读ID卡号。7.蓝牙地址设置。8.蓝牙广播数据设置。9.蓝牙att配置。10.蓝牙数据读。11.蓝牙数据写。12.定时器模拟。13.aes加密。14.tea加密。15.维
2017-10-27 17:28:41 2719 3
原创 ST17H26的PWM模块
总共4路pwm。#define GPIO10_FUNC AS_PWM#define GPIO10_OUTPUT_ENABLE 0#define PULL_WAKEUP_SRC_GPIO10PM_PIN_UP_DOWN_FLOAT//#define PULL_WAKEUP_SRC_GPIO10PM_PIN_PULLUP_10K no use!#def
2017-10-27 17:24:36 658
原创 ST17H26对接RC522读IC卡
主要代码如下: while(1) {//DoorIdReadEm4001Test();DoorRc522Start();DoorRc522Test1();sleep_us(100000); main_loop(); //clr_watch_dog(); }#define RF522_RST_IO G
2017-10-27 17:21:27 737 1
原创 ST17H26读ID卡调试过程
1.单独测试pwm功能:把这路pwm接到一块原本1601控制的读卡器上,驱动读卡器电路,读卡器工作正常。2.单独测试id卡数据io口:ST17H26从1601控制板上引入读卡信号,能读出卡号。3.合并1和2测试:竟然就读不出卡号了。一直都觉得很奇怪,后来退一步测试,pwm只开启,但不用于驱动读卡器,还是读不到卡,不知道怎么影响的。4.无意之间换了一块1601的另一种控制板,尽然合并1和
2017-10-27 17:13:27 2152 2
原创 AB1601低功耗时烧写代码注意事项
进入低功耗后功耗比较低,有时候插上了调试串口,有小电流漏过来,所以,即使断掉电源,还是进不了烧写状态。要想以下办法:1.烧写前先唤醒。2.或者拔掉调试串口。两种方法都可以。
2017-10-25 18:11:16 248
原创 AB1601之125K ID卡读写代码
#include "DoorIdReader.h"/*#define ID_HALF_PERIOD_MAX 256//unit:us#define ID_ONE_PERIOD_MAX 512#define ID_WAIT_MAX 1000#define ID_CARD_TIME 1000*//*#defin
2017-10-25 09:19:31 2793
转载 gcc -O0 -O1 -O2 -O3 四级优化选项及每级分别做什么优化
相关博客http://blog.chinaunix.net/uid-24954950-id-2956476.html相关博客http://blog.csdn.net/misiter/article/details/7514428相关博客http://blog.chinaunix.net/uid-23916171-id-2653114.htmlGcc 编译优化简介 gcc
2017-10-24 21:03:47 1938
原创 AB1601编译优化参数引发的问题
现象:优化级别为-Os时,lcd不显示,spi接口波形信号有偏差。为-O0时显示正常。相关代码:void DRV_SPI_No_Wait_WriteRead (uint8_t* txbuf, uint16_t txsize, uint8_t* rxbuf, uint16_t rxsize){SPI.TXSRCADDR.reg = (uint32_t)txbuf;SPI.RXDS
2017-10-24 20:41:27 490
转载 C语言中volatile关键字的作用
一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的
2017-10-24 09:18:58 304
转载 编译器优化陷阱之典型代码
static BOOL timer2_flag; ISR(TIMER2_COMPA_vect) { timer2_flag = true; } int main(void) { ... timer2_flag = false;
2017-10-24 09:12:06 360
原创 ST17H26之125KHz产生
write_reg8(0x781,0x0f);//32M/(15+1) = 2Mwrite_reg16(0x79a, 16);//set pwm1 max cycle 125K = 2M/16write_reg16(0x798, 8);//set pwm1 duty_cycle = 50% = 8/16write_reg8(0x780, 0x02);
2017-10-24 08:53:33 696
原创 AB1601 Makefile钟优化的问题
当优化等级为-Os时,LCD无法显示,为-O0时,可以正常显示。只好暂时把LCD相关部分编译成-O0,其他为-Os。这样才能兼顾代码的大小。
2017-10-23 09:28:56 300
原创 ST17H26使用tea注意事项
ST17H26使用tea加密,采用的C语言版本,但安卓app使用的是java,且跟标准java版本也不兼容,所以只能暂时使用jni来实现跨语言兼容。
2017-10-23 09:16:17 606
转载 ST17H26 tea加密java版本
/** * @author: heiing 2013-01-20 01:20 */public class TEA { public static byte[] encrypt(byte[] data, byte[] key) { int data_len = data.length; // 数据的长度 if (data_len =
2017-10-23 09:14:59 311
原创 ST17H26尽量避免switch语句
项目中某个函数由于使用了switch-case语句,当代码增加到某个程度的时候,已进入该函数,则程序跑飞。改成if结构,则问题解决。switch(packType){case CMD_RANDOM_NUMBER:return CmdRandomResponse(appData);break;case CMD_MUTEX_AUTH://return CmdMute
2017-10-23 09:11:26 1168 1
原创 ST17H26 tea加密解密代码
void encrypt(unsigned long *v, unsigned long *k) {unsigned long y=v[0], z=v[1], sum=0, i; /* set up */unsigned long delta = 0x9e3779b9; /* a key schedule constant */uns
2017-10-23 09:08:21 564
原创 AB1601之串口参数设置
#define UART_FORMAT_WORD_LENGTH_5_BIT 0x00 ///#define UART_FORMAT_WORD_LENGTH_6_BIT 0x01 ///#define UART_FORMAT_WORD_LENGTH_7_BIT 0x02 ///#define UART_FORMAT_WORD_LENGTH_8_BIT 0x03 ///#define
2017-10-17 14:49:11 519
原创 ST17H26之编译链接选项
tc32-elf-gcc -ffunction-sections -fdata-sections -D__PROJECT_VR_17H26__=1 -DDEBUG_FROM_FLASH=1 -Wall -Os -fpack-struct -fshort-enums -finline-small-functions -std=gnu99 -fshort-wchar -fms-extensions -
2017-10-16 11:51:49 729
原创 ST17H26简洁版aes代码
// AES only supports Nb=4#define Nb 4 // number of columns in the State & expanded key#define Nk 4 // number of columns in a key#define Nr 10 // number of rounds in encryptionconst
2017-10-16 11:50:15 1125
转载 printf输出格式总结
printf函数称为格式输出函数,其关键字最末一个字母f即为“格式”(format)之意。其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。printf函数调用的一般形式printf函数是一个标准库函数,它的函数原型在头文件“stdio.h”中。但作为一个特例,不要求在使用 printf 函数之前必须包含stdio.h文件。printf函数调用的一般形式为:
2017-10-16 11:47:31 416
转载 ST17H26之各种位操作宏定义
#pragma once// http://www.coranac.com/documents/working-with-bits-and-bitfields/#sec-intro#include "macro_trick.h"#define BIT(n) ( 1// BITSx are internal use
2017-10-16 08:49:03 1328
原创 ST17H26之att数据库设置
#pragma once#include "gatt.h"#if 0typedef enum{ONLY_UUID16,SUPPORT_UUID128,};#else#define ONLY_UUID16 0#define SUPPORT_UUID128 1#endif#define UUID_SUPPORT_TYPE 1
2017-10-16 08:35:16 708
原创 ST17H26移植软时钟代码
在dev-c++上编译测试过#include /* run this program using the console pauser or add your own getch, system("pause") or input loop */typedef unsigned char u8 ;typedef signed char s8;ty
2017-10-14 18:19:00 473
原创 AB1601 IO口反应延时的问题
AB1601 IO口在对RC522的复位脚进行控制时,发现执行命令后还要延时几个毫秒才能成功,分析认为1601的驱动能力有限,导致电平上升速度慢,于是加了一个10K的上拉电阻,问题解决。
2017-10-14 14:45:47 462
原创 ST17H26之aes模块测试程序
ST17H26之aes模块程序比较复杂,所以特地单独移植出来进行测试验证,代码在我的csdn资源里面下载即可。
2017-10-14 14:38:12 542 2
原创 ST17H26定时器注意事项
ST17H26 SDK中没有传统意义上的定时器接口,所有涉及定时器的功能以如下查询处理方式为基础进行:u32 a_trig_tick;int a_trig_flg = 0;while(1){if(A){a_trig_tick = clock_time();a_trig_flg = 1;}if(a_trig_flg &&clock_time_exceed(a_
2017-10-14 14:32:12 665
原创 ST17H26之pwm功能
1.设置io口为pwm工作模式:#define GPIO10_FUNC AS_PWM#define GPIO10_OUTPUT_ENABLE 0#define PULL_WAKEUP_SRC_GPIO7PM_PIN_UP_DOWN_FLOAT2.设置周期参数:write_reg16(0x79a,727);//set pwm1 max cycle 2.7K = 2
2017-10-14 14:26:01 796
原创 ST17H26程序移植关键部分记录
/*u8 tbl_mac [] = {0x25, 0x13, 0x15, 0x49, 0x04, 0x09};u8 tbl_rsp [] ={0x00, 6, //type len0, 0, 0, 0, 0, 0,//mac address0, 0, 0 //reserve 3 bytes for CRC};u8 tbl_adv [] ={
2017-10-13 20:19:42 1208
原创 ST17H26调试板操作注意事项
1.代码中一定要把低功耗相关的代码屏蔽掉,否则无法正常调试,看不到全局变量的输出。2.进入调试界面后,点rst按钮复位有时候代码能跑起来,但多数时候跑不起来,通过查看pc值可以清楚的看出来。3.要按一下板子上的复位键,这样就很可靠的让程序跑起来,并且可以看到全局变量的变化。
2017-10-13 20:15:04 1348
转载 蓝牙HCI剖析(三)
HCI源码:bt_hci.h[cpp] view plain copy/* * This file is part of the HCI protocal. * Data :20160506 * Author: zhongjun * */ #ifndef BT_HCI_H_H #define
2017-10-11 16:12:19 1880
转载 蓝牙HCI剖析(二)
一.概述:此篇文章主要是总结下HCI command 和 event二.command三.event:四.此command和event是参照之前的一本书截图的,对于最新的core 4.2有很多补充,如用到自行查阅
2017-10-11 16:10:15 400 1
VS2017-吉比特can分析仪二次开发
2019-01-29
VS2017-MFC-生成二维码小程序
2018-12-07
VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码
2018-11-09
VS2017平台下最简洁的基于C语言开发的串口发送程序
2018-11-09
aes加密解密测试代码
2017-10-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人