- 博客(39)
- 资源 (19)
- 收藏
- 关注
原创 STM8遇到的一些小问题
1.编译器优化的问题定义的局部变量如果后续没有用,会被编译器优化掉,如:{ u32 va = 100; va = 200; //些处放断点 ,查看一下va的值,会发现根本不对。}如何避免优化?{ __IO u32 va = 100; va = 200;//此处放断点,看一下值已经正常了。}__I 、__O 、 _...
2020-03-26 10:21:29
364
转载 转载:关于NAND Flash调试的一点总结
关于NAND Flash调试的一点总结原创可爱的东东嵌入式系统砖家昨天很久没接触过 nandflash 驱动了,最近工作又摸了一下,那就顺便整理点笔记总结一下吧。nandflash 在我看来算是比较落后的存储设备了,所以文章里没有太多细节的东西,更多的是一些开发思路和经验,希望能帮助到有需要的人。一、了解 nandflash 当前发展状况什么是 nandflash?nan...
2020-02-26 09:38:52
1932
原创 arm linux连接wifi
1.配置busyBox生成wpa_supplicant2.配置wpa.conf3. 连接wifi启动wlan0网卡ifconfig wlan0 upiwlist wlan0 scanning (扫描附近的无线路由器)wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa.conf动态获取ipudhcpc -i wlan0手动...
2019-05-09 17:00:54
3014
原创 RFID标准
常用的RFID卡分布在高频和超高频。高频卡目前的频率主要是13.56MHz。有几种标准;ISO-14443-A、ISO-14443-B、ISO-15693、ISO-18000-3;超高频的有ISO-18000-6和EPC标准。ISO-14443-A和ISO-14443-B的主要区别在于编码方式。ISO-14443-A是曼切斯特编码,而NRZ是不归零编码。Mifare卡和Desfare卡...
2019-03-27 08:57:55
2294
原创 Ubuntu12.04升级gcc
1。Ubuntu12.04默认gcc为4.6.3,不支持C++11,最少要升级到gcc4.7sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo apt-get install gcc-4.7cd /usr/binrm gccsudo ln -s gcc-4.7gcc...
2019-03-22 08:49:56
1196
原创 ESP32开发环境搭建
1.windows下的开发环境搭建。下载工具链:https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip解压到D盘下。双击msys2.exe启动linux模拟终端。该工具链已经配置好了交叉编译环境,只需下载ID F固件开发包即可。2。安装ESP-IDF不建...
2019-03-13 14:53:29
2335
原创 keil5使用JLink调试STM32F103C8T6
1.硬件说明 J-link调试器用的是J-LINK V8 ,板子用的是STM32F103C8T6型号芯片最小系统板。2.软件说明 Keil uVision53.设置步骤 ①把板子上的BOOT0和BOOT1置为接地,连接上JTAG接口和串口 ②Keil uVision5 中 options for target 设置Device的芯片为板子上的芯片型号...
2019-03-12 16:47:19
25037
5
原创 MCU内部RAM不够用的怎么办?
1。在静态变量、全局变量类型后加xdata修饰,让其使用外部RAM2。不要用vsprintf(string,fmt,ap);函数 多处调用会占用很多RAM sprintf函数也会占用少量 RAM...
2019-03-07 15:00:43
3894
原创 CACHIP单片机深坑1
同时开启定时器0,定时器1把定时器1值做为RFID读ID卡基准时钟,会发现并不准确,无法精准计算时间,导致读ID卡失败。解决办法:读ID卡时在适当的地方关闭定时器0,只保留定时器1开启,处理完再开定时器0...
2019-02-16 15:56:18
768
原创 如何办理移动飞享8元套餐
正能量传递之长沙移动改8元自选套餐:1。打10086按0转人工服务,然后话务员装模作样跟你查询一下,说没有权限修改,叫你去营业厅2。如果你去了营业厅,一样告诉你没有这个套餐3。继续打10086人工服务,先记住他的工号,然后要他转8元套餐,不行就说要投诉他,还不行继续第4步4。工信部投诉。网站是: http://www.chinatcc.gov.cn/ 填上10086的话务员工号,...
2019-01-18 13:00:58
13698
原创 CACHIP定时器实现定时1ms
CACHIP有3个定时器,分别是Timer0,Timer1,Timer2。0和1 作为定时器时都是系统时钟的12分频,作为计数器时则是输入时钟2是一个16拉的定时\计数器,可以选择时钟源,时钟没有经过12分频。今天我们说的是定时器0(或1也一样)Timer0有4种工作模式: 定时1ms:1。配置TMOD 定时器工作模式2。计算TH0、TL03。配...
2019-01-10 10:47:49
792
原创 CACHIP矩阵按键原理及代码
原理图如下:原理:Row -> SEG4 \ SEG5 \ SEG6Column -> SEG0 \ SEG1 \ SEG2 \ SEG31。先把Column线配置成下拉输入,单片机读依次Column线状态,如有键按下就会读到高电平,此时确定了Column2。把Row线配置成上拉输入,Column线配置成下拉输出,拉低Column线,再依次读Row线,读到低电...
2019-01-10 10:20:48
619
原创 CACHIP输出125K方波
1.配置GPIO复用脚为PWM输出功能 P15F = 6;2.设置INDEX指向PWM0 INDEX=PWM_CH0;3.关闭PWM0中断,边沿对齐模式,时钟源为内部时钟IRCHPWMCON = TIE(0)|ZIE(0)|PIE(0)|NIE(0)|MS(0)|CKS_IH;4.设置反向关闭,时钟不分频PWMCFG=TOG(0)|0;5.设置PWMD...
2018-12-28 11:15:27
618
原创 CACHIP单片机CA51F312SP4开发
仿真环境:1. 安装Keil5 C51版本,方法如下https://mp.youkuaiyun.com/postedit/851160972.
2018-12-26 16:22:05
1647
1
原创 SRAM和DRAM
SRAM和DRAM都是RAM, 中文名叫随机存储器, 随机是什么意思呢? 意思是, 给定一个地址, 可以立即访问到数据(访问时间和位置无关), 而不像咱们熟悉的磁带, 知道最后一首歌在最后的位置, 却没法直接一下子跳到磁带的最后部门, 所以磁带不是随机存储器, 而是顺序存储器。 上面是能保存SRAM的一个bit,你看看, 这东东, 保存一个bit需要6个晶体管, 所以贵, 造价高啊。 S...
2018-12-24 17:26:34
749
原创 搭建Keil C51开发环境
下载Keil C51安装包及注册机:https://download.youkuaiyun.com/download/zhuyanshun/10863888破解: 最后看到失效日期证明破解成功了。需要注意的是,打开Keil工具前要以管理员身份运行,不然破解不成功!...
2018-12-20 11:47:44
1717
原创 RDA8955配置GPIO功能
如图所示找到 GPIO29, 我们发现他的第0功能只有输入功能,该管脚是可复用脚,我们现在要把它作为输出脚,该怎么办呢?在上图找到它的寄存器地址:0x01A2A0C0 寄存器基地址为:0xa0000000 unsigned int* addr = (unsigned int*)(0x01A2A0C0 | 0xa0000000 ); *addr |= 0x0...
2018-12-19 13:22:02
2712
9
原创 LINUX下SHELL GPIO点灯
我使用的lichee Pi 芯片是全志的v3s。摸索一下linux的点灯。我的代码#!/bin/shecho "led run!"echo 36 > /sys/class/gpio/unexportecho 37 > /sys/class/gpio/unexportecho 36 > /sys/class/gpio/exportecho 37 > /...
2018-12-18 14:54:44
1477
原创 ESP8266编译、烧机
工程源码: https://download.youkuaiyun.com/download/zhuyanshun/10857354 build.sh内容如下:#!/bin/bashecho "gen_misc.sh version 20150511"echo ""touch ./user/user_main.c#make COMPILE=gcc BOOT=none A...
2018-12-18 09:02:39
452
原创 linux生成随机MAC地址
我们前3字节固定,只随机生成后3字节,主要实现思路是读取kernel产生的uuid作为随机数的种子,这样能保证所有出厂机器随机数种子不同,从而尽可能的避免产生重复的MAC地址。随机产生MAC地址并不是可取的办法,不能保证没有重复的,最好的办法还是自己做一个设置MAC地址的工具,和数据库中的地址比对,保证唯一性。 char mac[20]=""; ret=getMac("ma...
2018-12-07 13:13:56
4186
原创 全志V3s修改机器MAC地址
我们主要探讨的是通过修改启动参数,从而修改MAC地址的方法。我们的ENV参数分区如下:内容如下:bootdelay=0bootcmd=run setargs_spinor boot_normalconsole=ttyS0,115200spinor_root=/dev/nor1mmc_root=/dev/mmcblk0p7init=/initloglevel=8mac=00:90:C...
2018-12-05 16:31:30
2478
1
转载 ARM7、ARM9、ARM11、ARM-Cortex的关系
1. ARM7、ARM9、ARM11、ARM-Cortex的关系 ARM7:ARMv4架构,ARM9:ARMv5架构,ARM11:ARMv6架构,ARM-Cortex 系列:ARMv7架构 ARM7没有MMU(内存管理单元),只能叫做MCU(微控制器),不能运行诸如Linux、WinCE等这些现代的多用户多进程操作系统, 因为运行这些系统需要MMU,才能给每个用户进程分配进程自己独立的地...
2018-08-24 14:40:32
9907
转载 RTP有效负载(载荷)类型,RTP Payload Type
PT Encoding Name Audio/Video (A/V) Clock Rate (Hz) Channels Reference 0 PCMU A 8000 1 [RFC3551] 1 Reserved 2 Reserved ...
2018-08-17 14:00:40
1190
转载 RTP
1、RTP 分析 (1)IP是属于网络层部分的,UDP和RTP都是属于传输层部分的。(2)RTP首部 1) V:RTP协议的版本号,占2位,当前协议版本号为22) P:填充标志,占1位,如果P=1,则在该报文的尾部填充一个或多个额外的八位组,它们不是有效载荷的一部分。3) X:扩展标志,占1位,如果X=1,则在RTP报头后跟...
2018-08-16 10:53:05
3820
原创 YUV
YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。 YUV,分为三个分量,“Y”表示明亮度(Luminance或Luma),也就是灰度值;而“U”和“V” 表示的则是色度(Chrominance或Chroma),作用...
2018-08-16 09:25:11
1384
转载 Linux网络编程
设置套接字函数:#include<sys/socket.h>int setsockopt(int sockfd, int level, int optname, const void* optval, socklen_t* optlen);//sockfd要设置的目的套接字//level套接字的控制层次//optname optval optlen是三个相关的参数...
2018-08-13 10:25:24
158
转载 KVC、KVO
一. KVC1.KVC介绍 KVC 就是键值编码(key-value-coding)。2.KVC 的主要作用: (1)通过键值路径为对象的属性赋值。主要是可以为私有的属性赋值。 AppleViewController *appleVC = [[AppleViewController alloc]init]; [appleVC setValue:@"橘子...
2018-08-10 10:59:35
130
转载 TCP/IP
为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就好像...
2018-08-09 10:33:49
139
转载 Runtime
Runtime的特性主要是消息(方法)传递,如果消息(方法)在对象中找不到,就进行转发,具体怎么实现的呢。我们从下面几个方面探寻Runtime的实现机制。Runtime介绍 Runtime消息传递 Runtime消息转发 Runtime应用Runtime介绍Objective-C 扩展了 C 语言,并加入了面向对象特性和 Smalltalk 式的消息传递机制。而这个扩展的核心是一...
2018-08-09 09:14:33
149
转载 Autorelease
本文主要探讨两个方面:(1)autorelease对象到底是合适被析构的?(2)OC内部是如何处理一个被autorelease掉的对象的?(1)autorelease对象到底是何时被析构的?这个问题说难不难,但说简单也不简单。我们还是先看一类熟悉的不能再熟悉的代码吧:1 - (void)viewDidLoad {2 [super viewDidLoad];3 ...
2018-08-09 08:37:17
214
转载 NSRunLoop
①为什么总是要把RunLoop和线程放在一起来讲?总的来讲就是:RunLoop是保证线程不会退出,并且能在不处理消息的时候让线程休眠,节约资源,在接收到消息的时候唤醒线程做出对应处理的消息循环机制。它是寄生于线程的,所以提到RunLoop必然会涉及到线程。②如何创建RunLoop?苹果不允许直接创建 RunLoop,它只提供了四个自动获取的函数 1 2 3...
2018-08-08 10:09:38
954
转载 Linux多线程编程-互斥锁
互斥锁 多线程编程中,(多线程编程)可以用互斥锁(也称互斥量)可以用来保护关键代码段,以确保其独占式的访问,这有点像二进制信号量。POSIX互斥锁相关函数主要有以下5个: #include <pthread.h> int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_m...
2018-08-07 09:35:45
283
转载 FORK
题目:请问下面的程序一共输出多少个“-”? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 ...
2018-08-06 21:30:48
236
原创 深入理解IOS Block
对block的综合理解 block的实质 对象, 一个函数指针, 指向代码块, 以及上下文所需的变量 函数指针和block的格式对比 函数指针 void(*fun)(int) block void(^fun)(int) block在内存中的分类 全局block --> GlobalBlock <==> 相当于全局变量, 系统会自动释放 ...
2018-08-06 11:03:15
371
原创 深入浅出理解视频编码H264结构
引言:在国内直播"欣欣向荣"(ps: 其实大多都亏钱,为的就是炒概念)的年代,相信很多小伙伴也投入了技术的浩瀚大洋当中(ps: 其实就是搬砖),日复一日,音/视频的神秘面纱开始让更多的小伙伴扯下,而本博主,也只是刚窥探门道,慢慢摸索。好了,废话不扯,我们今天就来说说我们经常在视频编码当中用到的 H.264编码格式 的结构,相信 H.264 这个东西很多小伙伴都不陌生了,也有着自己的理解,但这东西颇...
2018-05-25 17:22:07
523
JxBrowser-6.21.7z
2020-06-19
http/https接口测试工具 postman
2019-01-23
IOS8到IOS11的SDK
2018-08-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人