自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (9)
  • 收藏
  • 关注

原创 逻辑分析仪抓取波形参数设置

在抓取id卡数据线波形时,出现很多纳秒级别的脉冲,影响观看,把sample rate从40M/s降为2M/s,效果好多了。

2017-10-30 21:54:46 3324

原创 ST17H26之读ID卡注意事项

1.信号太差则读不出,所以测试时卡一定要放好位置,没放好则可能导致读不到卡。

2017-10-30 16:47:37 528

原创 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

原创 V3S应用编译流程

cd  camdroid. /build/envsetuplunch1cd ....mm

2017-10-28 14:31:05 3038

原创 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软件架构注意事项

大循环里不能有明显的延时操作,否则影响蓝牙的处理,app无法正常连接蓝牙。

2017-10-28 13:54:39 1202

原创 ST17H26只pwm波形特征

pwm2平时是低电平。pwm3平时是高电平。pwm打开和关闭时的波形很好,前后都没有缺口。

2017-10-28 13:52:12 487

原创 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时生成的代码量明显比-O3时小很多!

2017-10-24 21:02:26 294

原创 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

原创 ST17H26代码优化的疑问

有时候编译出来的结果显示没超过16K,但烧进去就是工作不正常。对这些问题继续保持跟踪。

2017-10-17 15:13:27 970 1

原创 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分析仪二次开发

吉比特CAN分析仪二次开发软件小工具,基于VS2017-VC++平台,演示了CAN总线的数据收发,仅供参考。吉比特CAN分析仪二次开发软件小工具,基于VS2017-VC++平台,演示了CAN总线的数据收发,仅供参考。

2019-01-29

VS2017-VC++版本校验和计算小工具

基于VS2017 VC++平台的校验和计算小工具软件,目前支持异或,累加2中算法。

2019-01-14

VS2017-MFC-生成二维码小程序

VS2017-MFC-生成二维码小程序,可以设置二维码的内容,和颜色。VS2017-MFC-生成二维码小程序,可以设置二维码的内容,和颜色。VS2017-MFC-生成二维码小程序,可以设置二维码的内容,和颜色。

2018-12-07

VS2017工程MFC子线程中更新控件的内容

VS2017工程,MFC子线程中更新控件的内容,采用消息机制来实现,简单易懂,非常方便新手的入门。

2018-12-06

VS2017-MFC子线程中更新控件的内容框架代码

VS2017工程,MFC子线程中更新控件的内容,采用全局函数的方法来实现,简单易懂,非常方便新手的入门。

2018-12-06

简单的画时钟程序源码

参考网上的的代码,进行了简化和修改,只使用了一个对话框界面,尽量使用少的函数调用。对新手来说具有一定的参考价值。

2018-12-02

VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码

VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码。VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码。VS2017平台下最简洁的基于C语言开发的串口接收程序测试代码。

2018-11-09

VS2017平台下最简洁的基于C语言开发的串口发送程序

VS2017平台下最简洁的基于C语言开发的串口发送程序测试代码,修改简单灵活,方便用于各种串口调试。VS2017平台下最简洁的基于C语言开发的串口发送程序测试代码,修改简单灵活,方便用于各种串口调试。

2018-11-09

aes加密解密测试代码

aes加密解密测试代码,ubuntu12 gcc下测试验证通过。 这个代码是ST17H26 SDK中的,来自网上开源代码,为了兼容多种平台,里面的宏定义分支很多。

2017-10-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除