草庐IT

AT24C02 by stm32f103 hal

AT24C02是一款拥有256bytes(32Page)的EEPROM.一:特点(部分)1:双线接口;2:双向数据传输协议;3:400KHz波特率;4:硬件写保护;5:最大5ms写入同步;6:100万次写操作;7:100年数据存储。 基本框图   二:绝对参数  三:引脚定义 四:读写操作AT24C02使用I2C进行读写操作,最大波特率为400KHz。1:设备地址设备地址由7bits组成,其中高4位默认为1010b,低三位由A0~A2控制。2:写操作1)单字节写AT24C02单字节写,需要先写入设备地址,之后写入内存地址,最后写入数据。当IIC最后产生STOP模式后,AT24C02将会进入最大

Linux Shell 常用命令 - 02篇

系列文章:LinuxShell常用命令-01篇8.shell中各种括号的作用参考https://www.jb51.net/article/123081.htmhttps://www.jianshu.com/p/3e1eaaa3fee88.1单小括号()一般在命令替换的时候使用#!/bin/bashtoday=$(date+%Y%m%d)#shell扫描一遍命令,发现了$()结构,便将$()中的命令执行一次,得到其标准输出,再将此输出赋值给today#等同于today=`date+%Y%m%d`8.2双小括号(())参考http://c.biancheng.net/view/2480.html使

Linux Shell 常用命令 - 02篇

系列文章:LinuxShell常用命令-01篇8.shell中各种括号的作用参考https://www.jb51.net/article/123081.htmhttps://www.jianshu.com/p/3e1eaaa3fee88.1单小括号()一般在命令替换的时候使用#!/bin/bashtoday=$(date+%Y%m%d)#shell扫描一遍命令,发现了$()结构,便将$()中的命令执行一次,得到其标准输出,再将此输出赋值给today#等同于today=`date+%Y%m%d`8.2双小括号(())参考http://c.biancheng.net/view/2480.html使

vue大型电商项目尚品汇(后台篇)day02

这几天更新有点小慢,逐渐开始回归状态了。尽快把这个后台做完,要开始vue3了3.添加修改品牌用到组件Dialog对话框,其中visible.sync这个配置是修改他的显示隐藏的,label-width是这个标题的宽度然后上传头像的按钮,upload组件,他有自己的一些样式记得复制在style里面前面静态布局完成,下面完成功能首先完成接口一个添加和一个修改的接口,由于发现他们参数都差不多,所以完全可以用一个函数来完成,只是判断有无携带id参数首先表单是可以收集自己数据的配置项model,然后品牌名称的值通过v-model来收集关键是下面这个图片怎么来收集,因为这里是用的upload来做的,它上面

vue大型电商项目尚品汇(后台篇)day02

这几天更新有点小慢,逐渐开始回归状态了。尽快把这个后台做完,要开始vue3了3.添加修改品牌用到组件Dialog对话框,其中visible.sync这个配置是修改他的显示隐藏的,label-width是这个标题的宽度然后上传头像的按钮,upload组件,他有自己的一些样式记得复制在style里面前面静态布局完成,下面完成功能首先完成接口一个添加和一个修改的接口,由于发现他们参数都差不多,所以完全可以用一个函数来完成,只是判断有无携带id参数首先表单是可以收集自己数据的配置项model,然后品牌名称的值通过v-model来收集关键是下面这个图片怎么来收集,因为这里是用的upload来做的,它上面

开发日志02-解决`response`和SpringAop层相关冲突报错问题

解决一个Bug在昨晚的开发中遇到了一个非常令人头疼的Bugjava.lang.IllegalStateException:getOutputStream()hasalreadybeencalledforthisresponse报错信息如下:有点长。。。java.lang.IllegalStateException:getOutputStream()hasalreadybeencalledforthisresponse atorg.apache.catalina.connector.Response.getWriter(Response.java:584) atorg.apache.catali

开发日志02-解决`response`和SpringAop层相关冲突报错问题

解决一个Bug在昨晚的开发中遇到了一个非常令人头疼的Bugjava.lang.IllegalStateException:getOutputStream()hasalreadybeencalledforthisresponse报错信息如下:有点长。。。java.lang.IllegalStateException:getOutputStream()hasalreadybeencalledforthisresponse atorg.apache.catalina.connector.Response.getWriter(Response.java:584) atorg.apache.catali

Java并发小结02

主要参考自《实战Java高并发程序设计》。线程与进程进程是计算机系统进行资源分配和调度的基本单位,是线程的容器。线程是处理器任务调度和执行的基本单位。这里可以复习一下进程和线程的区别:根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程

Java并发小结02

主要参考自《实战Java高并发程序设计》。线程与进程进程是计算机系统进行资源分配和调度的基本单位,是线程的容器。线程是处理器任务调度和执行的基本单位。这里可以复习一下进程和线程的区别:根本区别:进程是操作系统资源分配的基本单位,而线程是处理器任务调度和执行的基本单位资源开销:每个进程都有独立的代码和数据空间(程序上下文),程序之间的切换会有较大的开销;线程可以看做轻量级的进程,同一类线程共享代码和数据空间,每个线程都有自己独立的运行栈和程序计数器(PC),线程之间切换的开销小。包含关系:如果一个进程内有多个线程,则执行过程不是一条线的,而是多条线(线程)共同完成的;线程是进程的一部分,所以线程

LeetCode.面试题02.05-链表求和-题解分析

题目来源面试题02.05.链表求和题目详情给定两个用链表表示的整数,每个节点包含一个数位。这些数位是反向存放的,也就是个位排在链表首部。编写函数对这两个整数求和,并用链表形式返回结果。示例:输入:(7->1->6)+(5->9->2),即617+295输出:2->1->9,即912进阶:思考一下,假设这些数位是正向存放的,又该如何解决呢?示例:输入:(6->1->7)+(2->9->5),即617+295输出:9->1->2,即912题解分析题目的要求是对链表的节点进行求和。题目的难点在于两个链表的长度可能不同,而且每个节点只能存放一个数位的元素。这里最直接的解法就是模拟法,或者叫做遍历法,同