自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(911)
  • 资源 (33)
  • 收藏
  • 关注

转载 慢查询优化,filesort详细解析

慢查询优化,filesort详细解析

2022-12-05 10:56:24 4

原创 MybatisX快速开发插件模版扩展

mybatis 生成代码插件,扩展模版

2022-08-02 16:40:01 239 3

转载 Spring Boot 优雅配置多数据源

大约在19年的这个时候,老同事公司在做医疗系统,需要和HIS系统对接一些信息,比如患者、医护、医嘱、科室等信息。但是起初并不知道如何与HIS无缝对接,于是向我取经。最终经过讨论采用了视图对接的方式,大致就是HIS系统提供视图,他们进行对接。什么是多数据源?最常见的单一应用中最多涉及到一个数据库,即是一个数据源(Datasource)。那么顾名思义,多数据源就是在一个单一应用中涉及到了两个及以上的数据库了。其实在配置数据源的时候就已经很明确这个定义了,如以下代码:@Bean(name =

2022-05-18 15:08:22 203 1

转载 SpringBoot 启动时自动执行代码的几种方式

一 目录 前言 java自身的启动时加载方式 Spring启动时加载方式 代码测试 总结 二 前言目前开发的SpringBoot项目在启动的时候需要预加载一些资源。而如何实现启动过程中执行代码,或启动成功后执行,是有很多种方式可以选择,我们可以在static代码块中实现,也可以在构造方法里实现,也可以使用@PostConstruct注解实现。当然也可以去实现Spring的ApplicationRunner与CommandLineRun

2022-05-10 20:31:34 84

原创 Spring事务监听管理器TransactionSynchronizationManager的使用

1. Spring 提供了事务同步管理器让我们能监听Spring的事务操作,这个可以获取到当前是否存在事务。TransactionSynchronizationManager.isSynchronizationActive()2. 这是注册一个监听器,需要传入一个对象TransactionSynchronizationTransactionSynchronizationManager.registerSynchronization()他有两个方法,一个是事务提交后执行,一个是事务完成

2022-04-12 14:04:40 1194

原创 Linux日志命令汇总

/** 使用grep查找文件中的最后一次匹配项,显示最后5行内容 grep 'passport/getAccessToken' -A 1 out.log:从后(-A,After)获取out.log文件里的关键字日志里的一行 tail -n 5 :显示最后5条日志,感觉日志多的话,可以改成2条**/grep 'passport/getAccessToken' -A 1 out.log | tail -n 5 ...

2022-04-11 10:08:50 1274

原创 Docker打包发布

一. 什么是docker?docker 是一个开源的应用容器引擎,是一个用于开发,交付和运行应用程序的开放平台。1. 解决了环境配置问题2.docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。3.容器是完全使用沙箱机制,相互之间不会有任何接口二. docker 的优点?1. 快速交付产品,快速部署应用. 就能够将现有的应用部署到其它机器上,从而实现一次打包,多次部署的目的。2. docker基于镜像可以秒级启动

2022-01-21 17:14:45 1536

原创 Sharding-JDBC实战(水平分表,读写分离)

Sharding-JDBC是一个轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务, 它使用客户端直连数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架 在使用Sharding-JDBC首先要清楚以下几点:它是一个轻量级的Java框架,可以理解是增强的JDBC驱动 Sharding-JDBC是不做分库分表的,库与表是由数据库工程师分好的,通过引入Sharding-JDBC.jar配置好配置,解决多数据源切换

2021-12-30 17:49:07 673

原创 ios ASTextNode中富文本多行中文显示问题解决

在使用ASTextNode计算view的高度时,利用富文本计算高度的方法计算多行中文显示时,会在底部多出一些空白区域的高度简单点说,1.中文字符串在利用NSAttributedString 的boundingRectWithSize:options:context来计算ASTextNode的高度时,实际高度比需要的高度高出一些区域 2.纯英文字符在利用

2021-11-25 09:43:48 138

原创 Mysql启动时报错 The server quit without updating PID file (/data/mysql/mysql.pid)

在执行mysql启动命令后,报错了,如下:sudo mysql.server startStarting MySQL. ERROR! The server quit without updating PID file (/data/mysql/mysql.pid).解决办法:删除 /data下的mysql文件,然后使用命令行初始化mysql,如下初始化数据库信息cd /usr/local/mysql/bin./mysqld --defaults-file=/etc/my.cn

2021-11-25 09:43:06 764

原创 Navicat连接mysql - Authentication plugin ‘caching_sha2_password‘ cannot be loaded: dlopen

解决办法:1. 跳过秘密验证修改密码: vim /etc/my.cnf 中添加 skip-grant-tables修改密码:[root@centos-linux bin]# ./mysql -u root -pEnter password: Welcome to the MySQL monitor. Commands end with ; or \g.Your MySQL connection id is 7Server version: 8.0.18 MySQL Communi.

2021-11-25 09:42:23 300

原创 Java应用cpu使用率过高问题排查(jstack实战模拟操作)

1. 上传我们需要实战模拟的Jar包到linux服务器scp /Users/sunww/Desktop/demo-0.0.1-SNAPSHOT.jar root@10.50.15.60:/httx/packjar2. 启动Jar包java -jar demo-0.0.1-SNAPSHOT.jar3. 发起请求curl http://localhost:8080/admin/test?a=1服务器在循环打印数据:4. 利用top命令查看通过上面可以...

2021-09-27 09:53:44 572

原创 Linux下后台启动springboot项目

我们知道启动springboot的项目有三种方式:运行主方法启动 使用命令 mvn spring-boot:run”在命令行启动该应用 运行“mvn package”进行打包时,会打包成一个可以直接运行的 JAR 文件,使用“java -jar”命令就可以直接运行。我们在开发的时候,通常会使用前两种,而在部署的时候往往会使用第三种。但是,我们在使用java -jar来运行的时候,并非后台运行。下面我们来说说服务器上如何后台启动springboot项目。实际上,实现的方法有很多种,这里就列两种还

2021-09-18 17:15:02 1287

转载 mysql5.7之json格式与json_extract方法使用

数据初始化json_test表数据,id和jsonstr字段(类型json){ "no": "7", "title": "运动方式", "content": [{ "text": "您平时经常进行的运动及时间", "item1": [{ "text": "慢跑 / 快走 / 走跑结合", "type": "select", "value": "selected"

2021-09-18 17:07:45 617

原创 Mysql JSON_EXTRACT 获取JSON数据

1. mysql数据库中的ext存的是json字段,如下:CREATE TABLE `volume` ( `volumeId` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键', `ext` json DEFAULT NULL COMMENT '扩展字段', PRIMARY KEY (`volumeId`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COMMENT='量表'.

2021-09-17 11:15:40 1770

原创 idea中Mybatis自动生成pojo、mapper.xml、接口

一. 在idea中安装插件二. 在maven工程中的resource中创建generatorConfig.xml配置generatorConfig.xml的<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" ...

2021-08-24 18:52:53 365

原创 WebMagic 发起POST表单请求,同时传入Cookie来下载文件

发起post请求的2种方式:1. 直接给Spider传入request对象(包含下载地址),定义好请求方式post,参数通过formdata/json,header里传cookie public static void main(String[] args) throws IOException {string URL = https://bbbb.com/column_more_data_v2/column_more_data Map<String, Object&.

2021-08-19 18:32:00 398

原创 SpringBoot 存储JSON数据到Mysql对应的JSON字段

1. 引入Gson<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> </dependency>2. 定义要存储的JSON字段@Datapublic class LJUserExt implements Serializable {

2021-08-17 17:07:49 2158

原创 利用SpringBoot的RestTemplate 发起Http请求(POST,请求参数JSON)

1. 先将RestTemplate以Bean的形式加载进来@Configurationpublic class SpringBeanConfig { @Bean public RestTemplate restTemplate(){ return new RestTemplate(); }}2. 发起一个 Http请求(POST,请求参数JSON)Map<String, Object> verifyParams = new HashMap<String, ..

2021-08-17 15:30:15 1755

原创 Netty 搭建Http服务端

1. 通过浏览器请求接口,http://localhost:8000/Netty的Http服务器返回 Netty Http Server2. 服务端打印的日志Netty的Http服务器源码如下:package server;import io.netty.buffer.Unpooled;import io.netty.channel.ChannelHandlerContext;import io.netty.channel.ChannelInboundHandlerAdapt

2021-04-13 17:49:00 116

原创 Spring提交数组时超过256个值报错解决办法

使用SpringMVC或者SpringBoot提交数组时,如果list大小超过256,就会报错。原因是DataBinder 中默认限制了list最大只能增长到256。private int autoGrowCollectionLimit = DEFAULT_AUTO_GROW_COLLECTION_LIMIT;解决方案:在需要的Action中添加InitBinder方法。@InitBinderpublic void initBinder(WebDataBinder binder)

2021-04-06 10:16:18 513

原创 Springboot集成Sentinel实战

一. Sentinel介绍随着微服务的流行,服务和服务之间的稳定性变得越来越重要。Sentinel 以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。Sentinel 具有以下特征:丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。 完备的实时监控:Sentinel 同时提供实时的监控功能。您可以在控制台中看到接入应用的单台

2021-03-11 14:12:56 614

原创 Mysql for update 悲观锁实践

InnoDB行锁实现方式InnoDB行锁是通过给索引项加锁来实现的,如果没有索引,InnoDB将通过隐藏的聚簇索引来对记录枷锁。共享锁(S):允许一个事务去读取一行,阻止其他事务获取相同数据集的排他锁。 排他锁(X):允许获得排他锁的事务更新数据,组织其他事务获取相同数据集的共享锁和排他锁。for update是在数据库中上锁用的,可以为数据库中的行上一个排它锁。当一个事务的操作未完成时候,其他事务可以读取但是不能写入或更新。for update 仅适用于InnoDB,并且必须开启事务,

2021-02-22 16:13:44 81

原创 FastJSON解析JSON字符串数据

需要解析的JSON数据如下:解析代码: public static void main(String[] args) { String result = "{\"msg\":\"success\",\"code\":0,\"data\":[{\"invoice_code\":\"3700194130\",\"total_amount\":22090.39,\"total_amount_excluding_tax\":20266.41,\"total_tax_amount\".

2021-02-08 14:59:05 579

原创 Java接收数组,要求前端给他字符串(用“,“分割)?

一. 用Postman发起请求,传个数组给后端接口,如下:localhost:8080/web/order/selectOrderList?orderCodes=21010807414510001,21010807424120001,21010807430810001二. Spring来接收数组数据,如下:OrderQuery@DATApublic class OrderQuery extends BaseObject { private static final lon.

2021-02-07 14:59:48 207

原创 Ngnix负载均衡实战配置

一、Nginx优势1、作为Web服务器,Nginx处理静态文件、索引文件,自动索引的效率非常高2、作为代理服务器,Nginx可以实现无缓存的反向代理加速,提高网站运行速度3、作为负载均衡服务器,Nginx既可以在内部直接支持Rails和PHP,也可以支持HTTP代理服务器对外进行服务,同时还支持简单的容错和利用算法进行负载均衡4、在性能方面,Nginx是专门为性能优化而开发的,实现上非常注重效率。它采用内核Poll模型,可以支持更多的并发连接,最大可以支持对5万个并发连接数的响应,而且只占用

2021-02-03 09:26:22 116

原创 case when 语句

<if test="blackOwners != null and blackOwners.size >0 "> AND ( CASE WHEN o.orderType = 20 AND o.ownerPartyId not in <foreach item="item" index="index" collection="blackOwners" open="(" separator="," close=")"> #{item} </fo..

2021-01-29 17:41:00 98

原创 利用WebMagic爬豆瓣电影数据(注解版本)

WebMagic爬数据(注解版本)官方资料:http://webmagic.io/docs/zh/posts/ch5-annotation/继上一篇爬虫文章后,再用注解版来抓取点数据。一.目标页面(https://www.douban.com/doulist/3907668)爬取豆瓣电影数据(电影名字,评分,导演信息,电影信息)界面如下图:二. 注解版本源码分析现在只爬取单个页面的电影数据,这里写死这个页面@TargetUrl(value = "(https://www.douban

2021-01-29 11:20:15 273

原创 利用Spring Boot WebMagic MyBatis 爬数据并存入mysql

一. webmagic简介webmagic是一个开源的Java垂直爬虫框架,目标是简化爬虫的开发流程,让开发者专注于逻辑功能的开发。webmagic的核心非常简单,但是覆盖爬虫的整个流程,也是很好的学习爬虫开发的材料。<dependency> <groupId>us.codecraft</groupId> <artifactId>webmagic-core</artifactId> <version&gt..

2021-01-28 16:49:28 268 1

原创 利用NodeJS抓取某商品信息

利用NodeJS作为后端服务器抓取某商品信息,并解析出来然后以react+webpack+antd为前端界面展示出来。后台代码如下:// 引入依赖var express = require('express');var utility = require('utility');var eventproxy = require('eventproxy');var superagent = r...

2021-01-26 15:12:38 112

原创 CPU飙高及Full GC次数过多怎么排查?

处理过线上问题的同学基本上都会遇到系统突然运行缓慢,CPU 100%,以及Full GC次数过多的问题。当然,这些问题的最终导致的直观现象就是系统运行缓慢,并且有大量的报警。本文主要针对系统运行缓慢这一问题,提供该问题的排查思路,从而定位出问题的代码点,进而提供解决该问题的思路。对于线上系统突然产生的运行缓慢问题,如果该问题导致线上系统不可用,那么首先需要做的就是,导出jstack和内存信息,然后重启系统,尽快保证系统的可用性。这种情况可能的原因主要有两种: 代码中某个位置读取数据量...

2021-01-20 09:25:31 294

原创 JVM调优总结

https://www.cnblogs.com/andy-zhou/p/5327288.html#_caption_0

2021-01-11 14:38:37 48

原创 JVM调优

由于GC操作会暂停所有的应用程序线程,JVM为了尽量缩短停顿时间就必须尽可能地利用更多的CPU资源。JVM调优主要就是调整下面两个指标停顿时间:垃圾收集器做垃圾回收中断应用执行的时间。-XX:MaxGCPauseMillis 吞吐量:垃圾收集的时间和总时间的占比:1/(1+n),吞吐量为1-1/(1+n)。-XX:GCTimeRatio=n我们项目的配置API和MT层配置如下:一. API配置(CMS标记清楚算法)-Xms3072m -Xmx3072m -Xmn1500m -XX..

2021-01-11 14:22:26 560

原创 Java 正则表达式 手机号 身份证号脱敏

// 手机号码前三后四脱敏 public static String mobileEncrypt(String mobile) { if (StringUtils.isEmpty(mobile) || (mobile.length() != 11)) { return mobile; } return mobile.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"); }..

2020-12-24 15:07:58 2776

原创 DateUtils after 使用注意

public static void main(String[] args) { Date inputDateStart = DateUtil.farseDate("2020-08-31", "yyyy-MM-dd"); Date a = DateUtils.addMonths(inputDateStart, 3); System.out.println(a); System.out.println(DateUtil.formatDat...

2020-11-30 10:03:57 311 1

原创 简单的延时消费队列

1. 简单的延时消费队列单元测试,将2个任务添加到队列中,然后消费,代码如下:package com.robinboot.facade;import com.robinboot.service.task.DelayRunnable;import com.robinboot.service.task.DelayRunnable;import com.robinboot.service.task.TaskManager;import org.apache.log4j.Logger;import

2020-11-26 14:26:43 271

原创 Mysql的Expalin执行计划

一. Expalin中关键字解释select_type查询的类型,主要是用于区分普通查询、联合查询、子查询等复杂的查询1、SIMPLE:简单的select查询,查询中不包含子查询或者union2、PRIMARY:查询中包含任何复杂的子部分,最外层查询则被标记为primary3、SUBQUERY:在select 或 where列表中包含了子查询4、DERIVED:在from列表中包含的子查询被标记为derived(衍生),mysql或递归执行这些子查询,把结果放在零时表里5、UNION

2020-11-25 10:32:14 83

转载 Kibana 创建索引 POST 403 (forbidden) on create index

一、问题描述:Kibana创建索引:kibana > management > index patterns > create index pattern索引名称:merchant-receipt-log-2019.06.04点击创建按钮后,什么也没发生, 索引没有创建成功。打开浏览器开发工具【f12】发现如下错误:POSThttp://ip:5601/api/saved_objects/index-pattern7403 (forbidden)二...

2020-11-10 17:28:53 768

原创 ELK通过logstash采集java日志(多图演示)

一. 下载elasticsearch-7.3.0cd /Users/sunww/Documents/soft/ELKtar -xzvf elasticsearch-7.3.0-darwin-x86_64.tar.gzcd elasticsearch-7.3.0/bin/elasticsearch 启动elasticsearch二. MAC下安装ElasticSearch Head插件参考我之前的文章 https://blog.csdn.net/robinson_91...

2020-11-10 14:02:03 666

原创 dubbo报错 Please check registry access list (whitelist/blacklist)问题分析

初步推测因为网络切换致长时间(具体时间不详)网络不通。provider端dubbo provider与注册中心Zookeeper断掉,多次重试任然失败,Zookeeper删除掉provider注册信息。ZKClient默认的超时时间是Integer.MAX_VALUE,几乎是无限等待,网络恢复后部分provider注册成功部分provider未注册成功。consumer端如果服务提供者列表为空,那么请求协议会被设置为empty。后面会调用refreshInvoker方法。对应的Z..

2020-10-19 17:59:28 3006

internet Widgits Pty Ltd.cer

mac 的证书

2017-05-16

IOS stream模拟http请求获取数据

ios 有三个demo 1.NSURL 下载网络图片(block和delegate两种方式) 2.NSURLSession 下载网络图片,请求json数据(自己封装的网络block) 3.利用 NSstream 来模拟http请求获取数据

2016-09-16

ios webView与js的交互

http://blog.csdn.net/robinson_911/article/details/51741559

2016-06-23

ios ESTMusicPlayer音乐播放器源码

ESTMusicPlayer是一款基于豆瓣DOUAudioStreamer开源框架的一款音乐播放器,同时已经在github上开源,处理了下错误可以跑起来了。

2016-05-16

swift demo 包含登陆登出 四个底部TabBar按钮

界面展示如:http://blog.csdn.net/robinson_911/article/details/51339142

2016-05-09

Swift UITableView and protocol 学习使用

具体如我的博客http://blog.csdn.net/robinson_911/article/details/50717680

2016-02-22

ios 友盟页面 统计demo

见我的博客描述 http://blog.csdn.net/robinson_911/article/details/47661981

2015-08-14

IOS 将字典和数组转化为JSON数据

关注我的博客,可以了解跟多的详细情况 从打印出的数据可以看出字典一般以{}结尾,而数组一般以()结尾。

2015-08-02

IOS 二维码生成demo

ios生成二维码,自动识别网页,并自动打开。很方便的demo ,支持64位

2015-07-24

IOS 照片选择(选择系统照片与拍照的照片)

见我的博客 http://blog.csdn.net/robinson_911/article/details/46848259

2015-07-12

AFNetText2.5修正版.zip

见本人博客:http://blog.csdn.net/robinson_911/article/details/46574497

2015-06-20

ios SDWebimage Demo

http://blog.csdn.net/robinson_911/article/details/45203877

2015-04-22

IOS tableView(一张图片标题详细说明)

具体见我的博客说明http://blog.csdn.net/robinson_911/article/details/42612059

2015-01-11

IOS 自定义导航栏 和表格 学习笔记

IOS 自定义导航栏 和表格 学习笔记具体可以参考我的这篇博文http://blog.csdn.net/robinson_911/article/details/42609493

2015-01-11

IOS UIPickerView

http://blog.csdn.net/robinson_911/article/details/42234239

2014-12-29

IOS delegate button版本

ios的delegate虽然很简单,但是搞清楚不容易。本demo简单清晰明了,希望可以帮助到大家。效果图,及其说明如:http://blog.csdn.net/robinson_911/article/details/41900453

2014-12-12

IOS 消息推送 java服务端和客户端源码

IOS 消息推送 java服务端和客户端源码

2014-11-03

IOS APNS 官方开发文档

IOS APNS 官方开发文档 英文版本

2014-11-03

IOS 消息远程推送 PushMeBaby demo 测试通过

本代码是著名的PushMeBaby demo ,刚刚测试通过。希望可以帮助到可以帮助的人。 具体的远程推送详解可以参考我的博客:http://blog.csdn.net/robinson_911/article/details/40658663

2014-10-31

IOS delegate 的简单demo

具体见我的博客分析:http://blog.csdn.net/robinson_911/article/details/39673625

2014-09-29

IOS Tableview远程加载数据并显示

具体见我的博客:http://blog.csdn.net/robinson_911/article/details/39274935

2014-09-14

C51 单片机 利用printf函数输出字符串

工程是keil2. 简单的利用C51单片机,实现了printf函数输出字符串,数字等。 找了好多资料,然后自己总结了下,实现了printf函数的应用。 有了printf函数,你就可以像VC中一样实现输出了。

2014-08-19

MQTT 开发手册大全

IBM出的一本书,关于MQTT开发的资料大全。 内容涉及C,java,android等等,以及MQTT 3.1版本的协议。 讲的很详细,可以说是MQTT开发者的福利。

2014-04-29

MQTT——移动消息传递和 M2M 客户机开发API包

IBM官方提供的MQTT 移动消息传递和 M2M 客户机包,包括C JAVA android 开发API。 此API可以有效的帮助大家快速的开发MQTT client 程序。 我是从IBM官网下载的,下载很不容易,主要是网速过慢。 希望此包可以帮助到有需要的人。 MQTT IBM c java android API

2014-04-19

MQTT WMQTT Utility

MQTT WMQTT Utility 桌面客户端 ,可以方便大家调试。找了好久才找到的。分享出来,希望可以帮助到大家。

2014-03-24

UCOS-II官方文件系统使用手册

文件名称:uC-FS-UserManual UCOS-II官方文件系统使用手册 全英文的官方文档 对于UCOS的文件系统讲述的很清楚,各种API函数都有例程。是值得赞一下的学习文档。

2014-03-21

MQTT android 端程序包---已经成功在手机上验证

文件名称,AndroidPushNotificationsDemo-master.rar 这个是在eclipse下编译通过的工程,我修改了一些错误。同时也下载到手机上,进行了MQTT 服务器端与android 程序端的通信。希望可以帮助到需要的人。

2014-03-14

com.ibm.micro.client.mqttv3.jar

找了很久才找到的MQTT的java 的开发jar包,现在分享出来希望可以帮助到可以用打的人,让大家少走些弯路,快速的利用MQTT协议开发自己的java程序

2014-03-14

C51单片机 测试通过定时器0 向串口1s钟发送一次数据

项目工程:keil2 测试单片机:IAP12c5a60s2(跟普通的stc89c51大概一样) 晶振:22.1184MHZ 本程序在stc12c5a60s2下测试通过,虽然5分,但是让你一目了然的理解串口通信与定时器的同时使用。 代码主要部分大概说明下: 定时器1作为单片机波特率使用。 定时器0每秒钟通过串口发送一次字符串数据到PC。

2014-02-18

STM32上实现的IAP功能 下载可以直接测试使用

感觉stm32官方的IAP例程写的太乱了,于是自己写了个串口IAP,希望可以帮助到正在或者即将学习IAP的童鞋们! 用的MCU是stm32f103ze,编译工具室IAR 5.4,仅仅用了USART1,不需要按键来,即仅仅使用了2个管脚,就实现了串口IAP的功能。 大概思路如下: IAP部分:IAP地址如下 #define StartAddr ((u32)0x08000000) #define EndAddr ((u32)0x08010000) IAP 程序部分大概思路: 1.将 通过串口接收的APP文件利用数组先保存下来存储到USART_Buffer中 2.if(USART_RX_BUF[0]==0xAF)// WRITE APP TO FLASH 当串口接收到AF时,将APP文件写入到flash中 3. if (USART_RX_BUF[0]==0xAC)// RUN APP 当串口接收到AC时,开始运行APP文件,不返回! APP部分:APP地址如下 #define StartAddr ((u32)0x08010000) #define EndAddr ((u32)0x0807ffff) 将APP的中断向量表定位到 ((u32)0x08010000) ,具体可以参见我上传的程序!

2013-11-16

IAP——STM32官网USART例程——编译直接可以运行

IAP——STM32官网USART例程——编译直接可以运行 从STM32官方下载的例程,不能用,需要修改的!虽说修改起来比较简单,但是不知道套路的话,还是有三分难度的! 自己修改的官网例程,下载后无需其他修改,可以直接编译! 例程是IAR工程的,希望大家学习修改借鉴!

2013-11-05

STM32上移植的UCOS 跑了两个TASK

简化版的ucos在stm32f103ZET6上的移植,跑了2个任务串口任务,分别发送数据到串口。 本程序思路清晰,大家可以参考下。 大家可以修改bsp.c中的IO端口,就可以轻松的移植到自己的板子上了!

2013-09-24

GPRS 短信 收发程序 远程控制 详细的注释

通过sim300(跟sim900差不多功能)实现打电话,发短信 , GPRS收发程序 , 里面有详细的注释 ! 想当初买的这个开发板900多块,哎,程序奉献给大家啦!

2013-09-04

空空如也

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

TA关注的人

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