第15章     FreeRTOS操作系统版本二代示波器实现 本章教程为大家讲解FreeRTOS操作系统版本的二代示波器实现.主要讲解RTOS设计框架,即各个任务实现的功能,任务间的通信方案选择,任务栈,系统栈以及全局变量共享问题.同时,工程调试方法也专门做了说明. 15.1  注意事项(重要必读) 15.2  任务功能划分 15.3  用户任务优先级设置 15.4  全局变量分配,系统堆栈和任务堆栈 15.5  任务间通信和全局变量共享问题 15.6  FreeRTOS系统调试 15.7  M…
第14章      uCOS-III操作系统版本二代示波器实现 本章教程为大家讲解uCOS-III操作系统版本的二代示波器实现.主要讲解RTOS设计框架,即各个任务实现的功能,任务间的通信方案选择,任务栈,系统栈以及全局变量共享问题.同时,工程调试方法也专门做了说明. 14.1  注意事项(重要必读) 14.2  任务功能划分 14.3  用户任务优先级设置 14.4  全局变量分配,系统堆栈和任务堆栈 14.5  任务间通信和全局变量共享问题 14.6  uCOS-III系统调试 14.7  …
第13章      RTX操作系统版本二代示波器实现 本章教程为大家讲解RTX操作系统版本的二代示波器实现.主要讲解RTOS设计框架,即各个任务实现的功能,任务间的通信方案选择,任务栈,系统栈以及全局变量共享问题.同时,工程调试方法也专门做了说明. 13.1  注意事项(重要必读) 13.2  任务功能划分 13.3  用户任务优先级设置 13.4  全局变量分配,系统堆栈和任务堆栈 13.5  任务间通信和全局变量共享问题 13.6  RTX配置向导 13.7  RTX系统调试 13.8  M…
说明:1.第1版DSP教程发布于2014年末,纪念下:https://www.cnblogs.com/armfly/p/11274826.html2.这几年在信号处理的应用上积累了一些经验,也发现了很多待解决的问题,通过本次教程做个完善.3.M7内核芯片的一个重要应用方向就是信号处理,而且支持双精度浮点,不搞DSP就太可惜了.同时伴随着ARM发布ARMv8.1-M架构.后面还将有支持NEON指令集的M内核芯片发布,信号处理能力将再上一个台阶.4.制作教程期间将同步开启三代示波器,因为示波器的一个…
第12章      示波器设计—DAC信号发生器的实现 本章节为大家讲解二代示波器中信号发生器的实现.这个功能还是比较实用的,方便为二代示波器提供测试信号.实现了正弦波,方波和三角波的频率,幅度以及占空比设置. 12.1   DAC的输出阻抗和使能缓冲问题 12.2   DAC驱动实现 12.3   信号发生器配置界面设计 12.4   信号发生器波形显示效果 12.5   总结 12.1  DAC的输出阻抗和使能缓冲问题 我们这里把F429的输出阻抗和使能缓冲问题放在最前面说. 使能了多缓冲后…
第15章     RL-TCPnet之创建多个TCP连接 本章节为大家讲解RL-TCPnet的TCP多客户端实现,因为多客户端在实际项目中用到的地方还挺多,所以我们也专门开启一个章节做讲解.另外,学习本章节前,务必要优先学习第14章TCP客户端.学会创建一个TCP客户端了,创建多个客户端是一样的. 本章教程含STM32F407开发板和STM32F429开发板. 15.1  初学者重要提示 15.2  创建多个TCP客户端连接服务器 15.3  TCP配置说明(Net_Config.c) 15.4…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第二十一章-授予身份与切换身份(二) 1.回顾上节 在<2017.2.15 开涛shiro教程-第二十一章-授予身份与切换身份(一)table.entity.service.dao >中,做了这四件事.这只是准备材料,要实现 B 假借 A 的身份进行访问,还需要完成controller部分. 1 table:sys_user_runas 2…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 第二十一章 授予身份与切换身份(一) 1.使用场景 某个领导因为某些原因不能访问一些网站,他想把这个网站上的工作委托给秘书,但是他又不想提供账户.密码.此时可以使用shiro的 RunAs 功能. RunAs:允许一个用户假装为另一个用户(如果获得了允许)的身份进行访问. 注意,本章代码基于<第十六章 综合实例>,详细的数据模型及基本流程见该章. 2.表及数据…
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第15章       STM32H7的GPIO基础知识(重要) 本章教程为大家讲解GPIO(General-purpose I/Os)基础知识.GPIO配置是所有外设驱动的基础,大家务必要熟练掌握. 15.1 初学者重要提示 15.2 GPIO功能简介 15.3 GPIO功能模式分析(重要) 15.4 GPIO的拉电流负载和灌电流负载能力 15.5 IO补偿单元,用于…
第15章     RCC—使用HSE/HSI配置时钟 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx中文参考手册>RCC章节. 学习本章时,配合<STM32F4xx中文参考手册>RCC章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分. RCC :reset clock control  复位和时钟控制器.本章我们主要讲解时…
第15章     RCC—使用HSE/HSI配置时钟 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege 本章参考资料:<STM32F4xx中文参考手册>RCC章节. 学习本章时,配合<STM32F4xx中文参考手册>RCC章节一起阅读,效果会更佳,特别是涉及到寄存器说明的部分. RCC :reset clock control  复位和时钟控制器.本章我们主要讲解时…
15章其实应该是和14章相辅相成的(感觉应该是作者觉得14章内容太多了然后切出来了一点).任务切换和14章的某些概念是分不开的. ★PART1:任务门与任务切换的方法 1. 任务管理程序 14章的时候我们说过,一个程序他可以有很多个任务,特权级指的是任务的不同部分的特权级,一个任务可以有两个空间,一个全局空间,一个局部空间.在一个任务内,全局空间和局部空间具有不同的特权级别,使用门,可以在任务内将控制从3特权级的局部空间转移到0特权级的全局空间,以使用内核或者操作系统提供的服务. 任务切换时以任…
第15章 设备相关位图_15.3 DIB和DDB的结合 15.3.1 从DIB创建DDB (1)hBitmap =CreateDIBitmap(…)——注意这名称会误导,实际上创建的是DDB 参数 说明 hdc 设备环境句柄,可以为NULL. pInfoHdr 指向DIB信息头的指针,即BITMAPINFOHEADER fInit 0或CBM_INIT.CBM_INIT指定用后面3个参数来初始化DDB中的像素位 pBits DIB像素位的指针 pInfo DIB信息指针,即BITMAPINFO(…
Linux就这个范儿 第15章 七种武器  linux 同步IO: sync.fsync与fdatasync   Linux中的内存大页面huge page/large page  David Cutler  Linux读写内存数据的三种方式 台湾作家林清玄在接受记者采访的时候,如此评价自己30多年写作生涯:“第一个十年我才华横溢,‘贼光闪现’,令周边黯然失色:第二个十年,我终于‘宝光现形’,不再去抢风头,反而与身边的美丽相得益彰:进入第三个十年,繁华落尽见真醇,我进入了‘醇光初现’的阶段,真正…
原博客地址:http://jinnianshilongnian.iteye.com/blog/2018398 根据下载的pdf学习. 开涛shiro教程-第十七章-OAuth2集成 3.客户端 客户端流程可以参照如很多网站的新浪微博登录功能,或其他的第三方帐号登录功能. 客户端进行登录操作 跳到oauth2服务端,进行登录授权.成功后,服务端返回auth code. 客户端使用auth code去服务器换取access token. 客户端根据access token得到用户信息,进行客户端的登…
目录 Objective-C 基础教程第三章,面向对象编程基础知 0x00 前言 0x01 间接(indirection) 0x02 面向对象编程中使用间接 面向过程编程 面向对象编程 0x03 OC面向对象 术语 0x04 OC语言中的OOP @interface @implementation instantiation(实例化对象) 0x05 第三章小节 Objective-C 基础教程第三章,面向对象编程基础知 0x00 前言 书中的这章节主要是对零基础的人介绍面向对象编程的基础知识,一…
第15章 LinkedList类 LinkedList类是…
[Learn Android Studio 汉化教程]第四章 : Refactoring Code 第四章 Refactoring Code    重构代码 在Android Studio中开发,解决方案不会总是一蹴而成的.作为一个有效率的编程者,在你的开发,调试和测试中需要一些弹性以及代码重构.随着在这章中的行进,你将明白Android Studio如何产生代码:在这章里你将看到Android Studio如何重构你的代码.重构代码最大的风险是可能引入不期望的错误.通过分析某些风险重构操作的结…
[Learn Android Studio 汉化教程]第三章:使用 Android Studio 编程 本章包含如何在 Android Studio 中书写或生成代码. Android Studio 使用面向对象编程的思想来生成极其相关的和格式规范的代码.本章的特色体现在重载方法,Java块的包围语句,使用模板插入代码,自动补全,注释代码和移动代码,如果你读这本书的目标是要精通 Android Studio,那么你需要密切关注这章,因为所描述的工具和技术将在你的编程效率发挥最大的作用. 让我们开…
第13章 守护进程和inetd 超级服务器 syslog() daemon_init() setuid() setgid() 第14章 高级IO 标准I/O函数库,支持3种缓冲 缓冲(读写存储设备(硬盘),或者网络 合并读写,可以大大提高性能, 当然也可以不合并: 每次读写操作就立即 发送到指定输入输出(写进硬盘)) 全缓冲(fully buffering):意味着只在出现下列情况才发生I/O 1.缓冲区满 2.进程显示调用fflush 3.进程调用exit终止自己 标准IO缓冲区的大小 通常为…
第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的setDefaultUncaughtExceptionHandler方法!defaultUncaughtHandler是Thread类的静态成员变量,所以如果我们将自定义的UncaughtExceptionHandler设置给Thread的话,那么当前进程内的所有线程都能使用这个UncaughtExcep…
原文 第15章 迭代器模式(Iterator Pattern) 迭代器模式(Iterator Pattern)    概述: 在面向对象的软件设计中,我们经常会遇到一类集合对象,这类集合对象的内部结构可能有着各种各样的实现,但是归结起来,无非有两点是需要我们去关心的:一是集合内部的数据存储结构,二是遍历集合内部的数据.面向对象设计原则中有一条是类的单一职责原则,所以我们要尽可能的去分解这些职责,用不同的类去承担不同的职责.Iterator模式就是分离了集合对象的遍历行为,抽象出一个迭代器类来负责…
第15章 大数据与MapReduce 大数据 概述 大数据: 收集到的数据已经远远超出了我们的处理能力. 大数据 场景 假如你为一家网络购物商店工作,很多用户访问该网站,其中有些人会购买商品,有些人则随意浏览后就离开. 对于你来说,可能很想识别那些有购物意愿的用户. 那么问题就来了,数据集可能会非常大,在单机上训练要运行好几天. 接下来:我们讲讲 MapRedece 如何来解决这样的问题 MapRedece Hadoop 概述 Hadoop 是 MapRedece 框架的一个免费开源实现. Ma…
深入理解类 类成员成员修饰符的顺序实例类成员静态字段从类的外部访问静态成员 静态字段示例静态成员的生存期 静态函数成员其他静态类成员类型成员常量常量与静态量属性 属性声明和访问器属性示例使用属性属性和关联字段执行其他计算只读和只写属性属性与公共字段计算只读属性示例自动实现属性静态属性 实例构造函数 带参数的构造函数默认构造函数 静态构造函数对象初始化语句析构函数readonly修饰符this关键字索引器 什么是索引器索引器和属性声明索引器索引器的set访问器索引器的get访问器关于索引器的补充为…
知乎原链 续前作: 中文代码示例视频演示Python入门教程第四章 控制流 对应在线文档: 5. Data Structures 这一章起初还是采取了尽量与原例程相近的汉化方式, 但有些语义较偏(如Trondheim的hammer dance). 鉴于这一教程的目的在于使人尽量快速入门Python, 而任何不熟悉的词汇都会加上不必要的负担. 于是最终决定不拘泥于与原例程的"形似", 而采取在例程中使用更为国人熟知的词汇了. 中文代码示例Python入门教程 5.1 列表详述_哔哩哔哩…
知乎原链 续前作: 中文代码示例视频演示Python入门教程第三章 简介Python 对应在线文档: 4. More Control Flow Tools 录制中出了不少岔子. 另外, 输入法确实是一个短板. 中文代码示例Python入门教程 4.1 if条件语句 & 4.2 for语句_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​ 中文代码示例Python入门教程 4.3 range函数_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​ 中文代码示例Python入门教程 4.4 b…
第15章:联结表 P98 外键:外键为某个表的一列A,同时这一列包含另一个表的主键值B(B属于A,等于或者小于的关系) P99 select vend_name,prod_name,prod_price from vendors,products where vendors.vend_id =products.vend_id order by vend_name,prod_name; # 选择的vend_name,prod_name只是在products表格中出现,所以无须指明是哪个表,这个的语…
以下是我看<构建之法>1-5章列出来的知识点和一些自己对部分知识的理解以及一些吐槽...和感受 1.1 软件 = 程序 + 软件工程 (软件工程 = 软件 - 程序(我知道软件是什么,也知道程序是什么,但是就是不懂什么是软件工程啊...个人觉得 软件工程 - 程序 = 0 程序 = 数据结构 + 算法 (突然觉得至今为止我们所写的作业都只是程序而还没达到软件的程度啊..就缺软件工程了..软件工程到底是啥~?! ∴软件 = 数据结构 + 算法 + 软件工程 去百度百科看了一下:(有些就直接省略了…
#<流流畅的Python>第15章 上下文管理器和else块 #15.1 先做这个,再做那个:if语句之外的else块 #else子句不仅能在if语句中使用,还能在for.while和try语句中使用. #for/else.while/else和try/else的语义关系紧密,不过与if/else差别很大. #可是,在循环中,else的语义恰好相反:“运行这个循环,然后做那件事. #在Python中,try/except不仅用于处理错误,还常用于控制流程. #EAFP取得原谅比获得许可容易(e…
第 15 章 可扩展性设计之Cache与Search的利用 前言: 前面章节部分所分析的可扩展架构方案,基本上都是围绕在数据库自身来进行的,这样是否会使我们在寻求扩展性之路的思维受到“禁锢”,无法更为宽广的发散开来.这一章,我们就将跳出完全依靠数据库自身来改善扩展性的问题,将数据服务扩展性的改善向数据库之外的天地延伸! 15.1 可扩展设计的数据库之外延伸 数据库主要就是为应用程序提供数据存取相应的服务,提高数据库的扩展性,也是为了更好的提供数据存取服务能力,同时包括可靠性,高效性以及易用性.所…