- 博客(136)
- 资源 (60)
- 收藏
- 关注
原创 线程2- 多线程共享资源
解决: 第二次访问第二把锁的时候, 不调用lock,调用try-lock ,加锁失败, 等着,放弃已经有的锁,那么别人可以访问你了 (首先都释放,在互相访问)上图 : T1 写独占, t2,t3, t4来了,T1 独占 T1写完了,释放内存, T3 首先访问, 写优先级高, 访问完才 T2 T4 读访问。消费A型号获取锁,B阻塞, all=0 , 释放锁,B获取锁, all=0 , pthread_cond_wait 逻辑正确。消费者A,pthread_mutex_lock(&lock);
2025-09-25 16:15:17
978
原创 ③.Linux进程通信
open注意事项: 打开fifo文件的时候,read端会阻塞等待write端open, write端同理,也会阻塞等待另外一端打开。1) 管道已满,write阻塞等待. 如果要演示现象,读端一直不读,写一直写。一个写多个读: 存在重复读问题,如果写的还没有覆盖,不会像管道一样读完了就没有了,只能覆盖。2). 有写端,read阻塞等待。文件,软连接,目录都是占用磁盘的,其他的都是伪文件,不用占用磁盘空间,比如管道。实现方式就是队列,一个写,也可以多个读,可以多个读,读走了就没有了 ,
2025-09-22 16:19:51
958
原创 MF卡协议分析
// MifareClassic 的RFID卡 8KB的一个 EEPROM// 1K: 16个分区(sector),每个分区4个块(block),每个块(block) 16个byte数据// 0-2 扇区用来存储数据, 3扇区用来存储密码// 扇区0,第0个block 不可以读写,用来存储厂商信息的 , 凯哥的卡, 扇区 前面8个字节是卡号MF卡整体结构 分区,块分区最后一个块 // 每个分区,最后一个块用来存储 改区key // 16个字节...
2022-05-13 10:08:15
954
原创 uart printf 实现 和 c语言 可变参数
可变参数运行时入栈内部结构:编写代码:/* * push_test.c V1.0 * Copyright (c) 2017 Shenzhen 100ask Technology Co.Ltd.All rights reserved. * http://www.100ask.org * 100ask.taobao.com * * 测试平台: ubuntu16.04(64位机器) gcc -m32 -o push_test push_test.c *...
2022-02-12 20:30:07
727
原创 s5pv210汇编实现时钟代码
①。 先选择不使用PLL. 让外部24MHz 原始时钟直接过去,绕过APLL那条路.global clock_initclock_init: ldr r0, =ELFIN_CLOCK_POWER_BASE // 1 设置各种时钟开关,暂时不使用PLL ldr r1, =0x0 // 芯片手册P378 寄存器CLK_SRC:Select clock source 0 (Main) str r1, [r0, #CLK_SRC0_OFFSET] ldr r0, =ELFIN_C...
2021-10-26 20:12:40
424
1
原创 rk3326 android10 Launcher3 Android.mk 解读
rk3326 android10 Launcher3 Android.mk 解读## Copyright (C) 2013 The Android Open Source Project## Licensed under the Apache License, Version 2.0 (the "License");# you may not use this file except in compliance with the License.# You may obtain a cop.
2021-04-09 16:41:11
914
1
原创 rk3326 Android10.0系统源码修改默认授予动态权限
RK3326-Android10.0\packages\apps\PermissionController\src\com\android\packageinstaller\permission\ui\handheld\GrantPermissionsViewHandlerImpl// 添加如下代码即可 @Override public void updateUi(String groupName, int groupCount, int groupIndex, Icon icon, .
2021-04-07 11:27:32
1179
原创 S5PV210的内存地址映射详解
S5PV 210 属于 ARM Cortex-A8架构, 32 位CPU , CPU 设计时就有 32 根 地址线 & 32 根 数据线32 地址线 决定了 CPU 地址空间 为 4G , 2^32 次方4G CPU 地址分配映射:SFRS 256M 地址DRAM1 内存第一个插槽 1G 外界内存DRAM2 .512M内存 1.5G , 210 32 位 为什么只支持 1.5G内存,内存分配地址1.5GROM : 单片机rom一般是flash (闪存)、 或者硬盘 放
2021-02-20 16:49:23
1554
3
原创 ThreadPoolExecuto 线程池 最深刻理解
线程池的理解:代码1:public class Main2 { public static void main(String[] args) throws InterruptedException { /* 参数1:核心线程数,默认启动线程数 * 参数2: 最大启动线程数 * 参数3,参数4, 线程不够的时候,启动的线程,如果60s 内没有在次执行Runnable,那么 被回收 * 参数5: 如果任务超过最.
2020-10-05 12:38:15
729
原创 ios13.7 iPhone/iPad Location-cleaned 驱动下载
Iphone/ipad 最新驱动下载地址:https://download.youkuaiyun.com/download/dreams_deng/12523667
2020-09-12 11:25:58
9793
3
原创 IOS中UIimageView的内容模式
当图片大小超出imageView时, 会只有部分图片显示在imageView上。当UIImageView的大小和图片大小不相符的时候, 为了达到合适的图片设置效果, 通常设置UIImageView 的contentMode 属性即可(contentMode属性继承于其父类UIViwe)。//不带有Scale,标明图片不可能被拉伸或压缩,图片的对齐方式 ...
2020-08-12 11:16:22
3155
原创 Android 实现控件流式布局
要点如下:1. 测量规则:如果父控件是ViewGroup, 调用Measure方法,如果子控件是View,那么调用重写onMeasure测量,调用setMeasureDimension设置宽高子控件onMeasure 中, 必须知道 父控件的 测量规则 // 1. 测量的时候测量多次 // 父容器 给当前 视图的 widthMeasureSpe...
2020-08-03 10:23:15
2429
1
原创 Objective-c中枚举定义使用
1. 枚举定义#import <Foundation/Foundation.h>NS_ASSUME_NONNULL_BEGIN// 枚举定义typedef enum{ XMGTopicPicture =10, XMGTopicVideo= 20, XMGTopicImg= 30,} XMGType;@interface XMGComent : NSObject// 使用枚举类型@property(nonatomic,assign)
2020-07-16 16:45:30
624
原创 ios 日期时间处理:
1. NSDate <=> NString// 通用时间类型:void string2date(){ // 时间字符串 NSString *string = @"2015-11-20 09:33:22"; // 日期格式化类 NSDateFormatter *fmt = [[NSDateFormatter alloc] i...
2020-07-16 13:50:46
1208
原创 Xib实现 Login 页面
1. xib 中按钮设置 设置 默认状态,点击状态的时候 选择 UIButtonTypeCustom ,避免默认的造成影响2.文本换行: 设置行数,按照option+enter在文本选项代码中: self.label.text=@"xiaoming\nxiaohie\nxiaoze" 设置line为0,那么label 就可以自动换行了3.ios 状态栏设置:// 设置状态栏白色 ,那么self.view内容可以从状态栏开始布局// 用途: 登录页面设置图片填充状态栏// self....
2020-07-16 11:24:13
356
原创 MJExtension使用注意
1、** dict- model NSDictionary* dict=@{@"username":@"小邓"}; User* user= [User mj_objectWithKeyValues:dict]; 2、** array<dict> - array<model>NSArray<XMGTopic *> *moreTo...
2020-07-15 17:02:49
1905
原创 导航栏穿透效果原理图
首先看一下bounds和frame区别:每一个控件都有矩形框、内容区bounds: 以自己内容区为左上角为原点,矩形框左上角到该点的距离frame: 是以父控件内容区左上角为原点坐标contentOffset.x、contentOffset.y:和bounds x、y值一致,内容区和矩形区左上角距离contentInset:内边距...
2020-07-15 10:49:27
1098
原创 ios 实现添加footer, footer实现九宫格效果
1.ios 设置 UITableViewCell 组和组之间距离UiTableView设置组和组之间的间距: 苹果没有提供api 设置组和组之间的间距, 可以设置组 heightForHeaderInSection heightForFooterInSection 来设置 组头部、底部高度 来设置 组合组之间的间距2.UiTableViewFooter 设置// 1. 获取底部控件最大高度 self.xmg_height= self.subviews.lastO...
2020-07-14 15:00:58
954
原创 ios 清理缓存功能实现
1.计算 沙盒 缓存大小 ,可能是 耗时 操作,放入子线程- (void)viewDidLoad { [super viewDidLoad]; // 沙盒路径 获取 NSLog(@"%@",NSHomeDirectory()); // 计算 缓存大小,可能是 耗时 操作,放入子线程 dispatch_async(dispatch_get_global_queue(0, 0), ^{ // library/cache NSS.
2020-07-14 14:00:14
1225
原创 __weak typeof(self) weakself= self 使用
如下代码,在执行BViewController 被 close 以后, self 由于在gcd存在引用,不会被释放#import "BViewController.h"@interface BViewController ()@property (weak, nonatomic) IBOutlet UILabel *mylable;@end@implementation BViewController- (void)viewDidLoad { [super viewDid.
2020-07-14 11:14:18
526
原创 微信小程序快速入门学习2
1、 app.json: 全局配置app.wxss: 全局样式2、 home.json: 页面配置3、 数据绑定:<text data-id="{{ title }} ">{{ title }} </text><!-- checkbox 必须要这么写 不能check="true" --><checkbox checked="{{true}} "></checkbox>4. 页面运算:运算:{{ num1+ num...
2020-07-14 09:59:09
1545
原创 css中遇到盒子居中问题
1. 有宽度、高度的盒子 水平 居中 margin:0 auto2. 没有宽度的盒子 水平居中<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .box{ width: 500px; height: 300px; backg...
2020-07-08 09:14:49
822
原创 ios ble 蓝牙锁开发用例
开发流程:1. 建立中心管家2. 扫描外部设备3. 获取扫描的 外部设备,获取外部设备 , 连接外部设备4. 连接外设 成功,获取 发现服务5. 发现服务 uuid, 发现 服务下 特征值6. 读取 特征值 ,订阅 ble->app 通道 获取app->ble 特征值7. 接收 读取的特征值8. 锁入网,传递psw2 给app9. p1+p2 加密 systemId 鉴权 10. 锁回复 psw3 11.发送 开锁 确认帧代码...
2020-07-04 16:42:15
1431
原创 ios mqttclient 使用连接、订阅、发送、透传
IOS使用场景 mqtt mqtt zigbeen -> 网关 -> 服务器 -> app
2020-07-03 11:06:25
2665
1
原创 css3 transition 过渡使用总结
1.案例1 transition: 2s;<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> #test{ width: 200px; height: 200px; border-radius: 50%; background...
2020-06-26 14:10:37
2133
原创 Javascript基础语法总结
1、 内容11.函数中声明变量不使用var 就是全局变量,变量不使用var,属于window的一个属性2.Js数据类型 Number,String,Array,Date3. 调用属性方式4. 时间对象5. js中array 就是java list和stack6. 事件绑定方式27. window api 定时器8. 节点概念代码实现:<!DOCTYPE html><html> <head> <met...
2020-06-25 16:50:55
2423
原创 ios frame和bounds区别
1. frames和 bounds理解frame: 是子控件相对于 父控件内容左上角为坐标原点bounds: contentView相对于自己控件坐标位置,控件内部内容区域滚动的时候frame和bounds体现:frame和bounds理解图:程序代码:#import "ViewController.h"@interface ViewController ()<UIScrollViewDelegate>@property (stron...
2020-06-21 22:18:34
1185
1
原创 ios UIButton内边距理解
button设置内边距:UIButton结构, ImageView+ Lable 设置内边距EdgeInsets 以后会 压缩 在宽度,和前端中设置div内边距一样backButton.titleEdgeInsets=UIEdgeInsetsMake(10, 0, 0, 0); // 上边内边距10backButton.imageEdgeInsets=UIEdgeInsetsMake(0, 0, 10, 0)backButton.contentEdgeInsets = U...
2020-06-20 20:19:21
2450
原创 ios 自定导航栏 返回按钮
导航控制器 默认 返回键盘默认是 一个箭头 + 上一个控制器名称,系统默认,如下图 如何自定义左上角控制器: 解决方法:A控制器进入detail控制器- (IBAction)showDatail:(id)sender { // 注意: 控制器背景色不要在这里设置 AControllerViewController* aController=[[AControllerViewController alloc] init]; aController.hides...
2020-06-15 11:17:45
3817
原创 ios uiscrollView 使用理解
1、 scrollview 常用属性理解UIScrollVie的常用属性 : contentSize 滚动方位,比scrollview的size大 contentInset 内边距, contentSize和scrollView的边框的一个距离,和div一样,内变距会计算到contentSize中 contentOffset 偏移量, contentSize+padding 距离边框的距离 弹簧效果 ...
2020-06-11 16:56:40
1082
原创 ios mj_refresh 上拉、下拉、自定义header、footer、afn子类化
ViewController.#import "ViewController.h"#import <MJRefresh/MJRefresh.h>#import "Person.h"#import <AFNetworking/AFNetworking.h>#import <MJExtension/MJExtension.h>#import "XMGRefreshHeader.h"#import "XMGRefreshFooter.h"#impor...
2020-06-11 16:12:56
2576
原创 ios 全局异常捕获,上传服务器
ios中 xcode设置全局断点快速定位问题代码所在行, 可以获取异常信息,然后上传服务器,做统计AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. NSSet...
2020-06-09 15:52:28
2018
原创 ios NSInvocation基本使用
为什么要NSInvocation,NSInvocation比performSelector 调用方法,根据方法名可以传递三个参数-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ // performSelector 只能 根据方法名调用 2个参数 // 传递一个参数例子 [self performSelector:@selector(callWithNumbe
2020-06-09 15:48:39
633
原创 ios 基本框架使用
1. sdwebImage使用:1.1.基本使用- (void)viewDidLoad { [super viewDidLoad]; // 1. 图片 下载 简单方法 [self.myWebImage sd_setImageWithURL:[NSURL URLWithString:@"http://img5.mtime.cn/mg/2019/06/27/224744.68512147_120X90X4.jpg"]]; // options 图片下载策
2020-06-05 18:57:56
622
原创 Objective-C 线程 NSOperation
1. NSOperation 的子类实现: 在UI线程中执行都是1. NSInvocationOperation: 通过代理实-(void)touchesBegan1:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{ /** 1. 第一个参数 : 目标对象 第二个参数: 选择器,要调用的方法 第三方参数: 方法要传递的参数 */ NSInvocationOper...
2020-06-04 14:57:10
331
原创 Objective-C 线程 GCD 使用
1. 概念:1.1 进程和线程的比较:线程是 cpu 调用的最小单位进程是 cpu 分配资源的最小单位一个进程中至少有一个线程进程内线程 资源共享 windows\mac 进程管理: 通过进程管理器, 可以直接杀死 linux 进程管理器: 通过ps | top | pstree | kill1.2. 多线程认识: 多线程 执行原理: 单核, cpu 多条线程切换, 多线程并发假像 多核 , 多线程的缺点:...
2020-06-03 14:12:15
753
原创 ios UIViewController 使用总结
1. 通过代码 实现控制器1.1. 自定义根控制器:iOS开发之Xcode11: 删除默认Main.storyBoard、自定义根控制器:https://blog.youkuaiyun.com/shifang07/article/details/104682190导航控制器:导航栏 一般 是 44,IOS 控制也是栈的结构, 入栈、弹出是出栈1.2.导航控制器api: //1. 跳入下一个控制器 BViewController* bController= [[BViewControll...
2020-06-02 15:03:52
579
原创 ios 数据存储 Bundle 沙盒
1. IOS数据存储:什么是沙盒: 与其他文件系统隔离,应用必须待在自己的沙河里面,不能互相访问bundle 和 沙盒是分开的*沙盒路径: Documents :比较贵重数据,Itunes 会设备的时候会备份改目录 Library/Caches : 不会备份,存储体积大 Library/Preference: 保存偏好设置, 系统管理,会备份 tmp: 临时数据,不会备份,引用没有运行时候,系统可能清除该目录*bundle路径: xx.app*...
2020-06-02 11:29:03
457
原创 ios 屏幕适配 autolayout | Masonry 使用
1. autolayout 属性设置: autolyout 对齐方式 autolayout 相对其他控件距离、宽高、相对于其他控件宽高, 如下图属性。2. 案例1: 设置控件水平、垂直居中 设置 垂直 水平 对齐、 设置控件宽高 【 注意:确定控件x,y坐标,以及宽、高那么久不会报红约束 存在问题】最终效果显示:3. 案例2 : 设置 兄弟 View之间的 约束A控件 设置左边、顶部、高度约束 B 控件·设置右侧、底部约束 、 设置A...
2020-06-01 17:41:08
1125
mutipeerConnectivityTest.zip
2020-07-04
Android 动态换肤框架原理
2020-05-24
微信小程序ble开发.zip
2020-07-06
MqttClient.zip
2020-07-03
mj_refresh 上拉、下拉、自定义header、footer、afn子类化案例
2020-06-11
lookxanimation.zip
2020-07-20
gradle-5.6.4-all.zip gradle-5.4.1-all.zip gradle-5.1.1-all.zip gradle-4.10.1-all
2020-10-02
RootUtls工具类.zip
2020-10-20
My Application.zip
2020-08-19
tabbar使用.zip
2020-07-15
MyTableView1.zip
2020-07-14
code_banner.zip
2020-07-14
camera.zip
2020-05-25
UITableView23.zip
2020-06-03
ios scrollview使用总结
2020-06-11
ios 网络、json、 xml 、uiviewView 使用
2020-06-08
server,client 通过aild 通信, 内容提供者案例
2022-12-26
MF卡协议分析 代码 如何用NFC读取 MF卡内容
2022-06-17
修改机器码点亮led2-资料2021-11-21.zip
2021-11-21
s5pv210汇编和C实现时钟代码.zip
2021-10-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅