首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
stmhal库内部时钟
2024-10-31
STM32系统时钟RCC(基于HAL库)
基础认识 为什么要有时钟: 时钟就是单片机的心脏,其每跳动一次,整个单片机的电路就会同步动作一次.时钟的速率决定了两次动作的间隔时间.速率越快,单片机在单位时间内所执行的动作将越多.时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令.时钟系统就是CPU的脉搏,决定cpu速率. 为什么这么多个时钟源: STM32系统是复杂的,高精度.低精度.高速.低速等,且可以对每个时钟源进行开关操作,可以把不需要使用的关闭掉.这可以让单片机适用更多的环境中,把选择权利交个了开发者,开发者可以从精
【转载】uclibc和glibc的差别
转载自:http://blog.163.com/huangnan0727@126/blog/static/30626184201042022011225/ CC的标准库,就是glibc这个库,里面有GCC各种标准函数的实现,还有各种unix系的函数在里面. 当初创建uclinux的时候,需要一个能编译比较小体积的目标文件的便宜器,这个时候就有人写了一个 uc-libc库,这个库可以说是uclinux上的一个glibc移植,但是还是有很多函数没有实现,所以人们只能 勉强用它来在uclinux上写程
uclibc和glibc的差别
uClibc和Glibc并不相同,两者有许多不同之处,而且以下不同有可能给你带来一些问题. 1. uClibc比Glibc小,虽然uClibc和Glibc在已有的接口上是兼容的,而且采用uClibc编译应用程序比采用Glibc编译应用程序要更方便,但是uClibc并没有包括Glibc中的所有接口实现,因此有些应用可能在uClibc中不能编译. 2. uClibc在可配置性上比glibc要好. 3. uClibc并不能保证发布的库二进制兼容旧版本uClibc库.当一个新的版本uClibc库被发布,
Glibc 和 uClibc
转自:https://blog.csdn.net/clirus/article/details/50145959?locationNum=4 最近在搞mips openwrt框架的东西,mipc的GCC工具链为mipsel-openwrt-linux-gcc,所依赖的libc库为:mipsel-openwrt-linux-uclibc-gcc,也就是uclic库,和通常用的glic是有一定区别的. 以下是从网上搜集的uClibc和Glibc的区别. uClibc和Glibc并不相同,两者有许多不
EXTI—外部中断/事件控制器
外部中断/事件控制器(EXTI)管理了控制器的 23 个中断/事件线.每个中断/事件线都对应有一个边沿检测器,可以实现输入信号的上升沿检测和下降沿的检测. EXTI 可以实现对每个中断/事件线进行单独配置,可以单独配置为中断或者事件,以及触发事件的属性. EXTI功能框图EXTI 的功能框图包含了 EXTI 最核心内容,掌握了功能框图,对 EXTI 就有一个整体的把握,在编程时就思路就非常清晰. EXTI 功能框图见图 17-1.在图 17-1 可以看到很多在信号线上打一个斜杠并标注“ 23”字
【STM32H7教程】第32章 STM32H7的TIM定时器基础知识和HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第32章 STM32H7的TIM定时器基础知识和HAL库API 本章节为大家讲解TIM1 – TIM17(STM32H7没有TIM9,TIM10和TIM11)共计14个定时器的基础知识和对应的HAL库API. 32.1 初学者重要提示 32.2 定时器基础知识 32.3 定时器的HAL库用户 32.4 源文件stm32h7xx_hal_tim.c 32.5
【STM32H7教程】第29章 STM32H7的USART串口基础知识和HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第29章 STM32H7的USART串口基础知识和HAL库API 本章节为大家讲解USART(Universal synchronous asynchronous receiver transmitter,通用同步异步收发器)的基础知识和对应的HAL库API.相比之前的F1和F4系列,增加了不少新特性. 29.1 初学者重要提示 29.2 串口基础知识 2
【深入浅出jQuery】源码浅析--整体架构
最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹. 另外,阅读源码让我接触到了大量底层的知识.对原生JS .框架设计.代码优化有了全新的认识,接下来将会写一系列关于 jQuery 解析的文章. 我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下
【原】FMDB源码阅读(二)
[原]FMDB源码阅读(二) 本文转载请注明出处 -- polobymulberry-博客园 1. 前言 上一篇只是简单地过了一下FMDB一个简单例子的基本流程,并没有涉及到FMDB的所有方方面面,比如FMDB的executeUpdate:系列方法.数据库的加解密等等.这次写的就是对FMDatabase和FMResultSet这两个文件的补全内容.每次写这种补全的内容最头疼,内容会很分散,感觉没啥条理. 2. executeUpdate:系列函数 注意除了"SELECT"语句外,其他的
漫谈C#编程语言在游戏领域的应用
0x00 前言 随着微软越来越开放,C#也变得越来越吸引人们的眼球.而在游戏行业中,C#也开始慢慢地获得了关注.这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前后端统一C#开发,跨平台部署了. 所以,我们就来总结一下C#在游戏行业中一些具体的应用吧. 0x01 游戏引擎 说道游戏领域的应用,自然应该先来说说游戏引擎: Unity (Unity - Game Engine) 不必多说了吧,随着“移动为王”潮流的到来,Unity3D也变得越来越流行.使用C/C++开发,提供C#作为脚
iOS开发——创建你自己的Framework
如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的所有代码,因为他们可能仅仅希望将你的这份漂亮代码的一部分植入自己的应用中. 另一种方法是将你的代码编译成静态库(library),让其他开发者添加到自己的项目中.然而,这需要你一并公布所有的公开的头文件,实在是非常不方便. 你需要一种简单的方法来编译你的代码,这种方法应该使得你的代码易分享,并且在多个工程中易复用.你需
[No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图
行结束符和空白选项 在项目的生命周期中,有时可能会将行结束符由 CRLF 改为 LF,或者修改一段代码的缩进.不幸的是这样将会使大量的代码行被标记为已修改,尽管代码本身并没有被修改.这里列出的选项将会在比较差异 和应用补丁时帮助你应对这些修改.你将会在合并和追溯对话框中看到这些设置,它们同样也出现在TortoiseMerge 的设置中. 忽略行结束符 排除仅行结束符的差异. 比较空白 将所有缩进和行内空白差异视为增加/删除的行. 忽略空白修改 排除那些完全是针对空白数量或类型的修改,例如,修改缩
创建你的第一个JavaScript库
是否曾对Mootools的魔力感到惊奇?是否有想知道Dojo如何做到那样的?是否对jQuery感到好奇?在这个教程中,我们将了解它们背后的东西并且动手创建一个超级简单的你最喜欢的库. 我们其乎每天都在使用JavaScript库.当你刚入门时,利用jQuery是一件非常奇妙的事,主要是因为它的DOM操作.首先,DOM对于入门者来说可能是相对困难的事情:其次用它我们几乎可以不用考虑跨浏览器兼容的问题. 在这个教程中,我们将试着从头开始实现一个很简单的库.是的,它非常有意思,但是在你高兴之前让我申明几
asp.net c# 网上搜集面试题目大全(附答案)
1.String str=new String("a")和String str = "a"有什么区别? String str = "a"; 这个只是一个引用,内存中如果有“a"的话,str就指向它,如果没有才创建如后还用到"a"这个字符串的话并且是这样用: String str1 = "a"; String str2 = "a"; String str2 = "a&q
iOS程序中的内存分配 栈区堆区全局区
在计算机系统中,运行的应用程序的数据都是保存在内存中的,不同类型的数据,保存的内存区域不同.一.内存分区 栈区(stack) 由编译器自动分配并释放,存放函数的参数值,局部变量等.栈是系统数据结构,对应线程/进程是唯一的.优点是快速高效,缺点时有限制,数据不灵活.[先进后出] 栈空间分静态分配 和动态分配两种. 静态分配是编译器完成的,比如自动变量(auto)的分配. 动态分配由alloca函数完成. 栈的动态分配无需释放(是自动的),也就没有释放函数. 为可移植的程序起见,栈的动态分配操作是不
使用命令行 Subversion 访问项目源文件(SVN)
from:http://www.open.collab.net/scdocs/ddUsingSVN_command-line.html.zh-cn 命令行 Subversion 入门 如果您参与的项目正在使用 Subversion 进行版本控制,您将需要使用 Subversion 访问和更改项目源文件.您可以点击项目的左侧导航窗格上的“Subversion”链接,在线浏览源代码以查看该项目的目录结构和文件. “Subversion”页面显示三个子目录:branches/.tags/.trunk/
iOS静态库及Framework 创建
本文转自cocoachina,尊重作者的汗水. 讲述的非常透彻,有需要的朋友可以阅读实践.转载请注明出处 //=================以下留着备份==================// 在上一篇教程(中译版)中,你学到了怎么样创建一个可复用的圆形旋钮控件.然而你可能不清楚怎样让其他开发者更方便地去复用它. 如果你想将你开发的控件与别人分享,一种方法是直接提供源代码文件.然而,这种方法并不是很优雅.它会暴露所有的实现细节,而这些实现你可能并不想开源出来.此外,开发者也可能并不想看到你的
SVN与git交互
操作的第一步,就是找到版本库,然后打开,有git的文件夹叫版本库 OrderManagement是版本库 第二步,查看日志,在版本库里内部,空白处右键,选择TortoiseGit--showlog,记得左下角勾选all branches 第三步,在版本库内部打开命令行,空白处右键,git bash here 然后第四步 输入git svn fetch,然后键盘上enter键 这个就是同步代码了 第五步切换到日志界面,点击左下角刷新按钮 ,红色的svn是本地当前所处的,黄色的git-svn
C语言中内存的申请函数
C语言跟内存申请相关的函数主要有 alloca,calloc,malloc,free,realloc,sbrk等. alloca是向栈申请内存,因此无需释放. malloc分配的内存是位于堆中的,并且没有初始化内存的内容,因此基本上malloc之后,调用函数memset来初始化这部分的内存空间. calloc则将初始化这部分的内存,设置为0. realloc则对malloc申请的内存进行大小的调整.申请的内存最终需要通过函数free来释放. sbrk则是增加数据段的大小; malloc/call
jQuery整体架构源码解析(转载)
jQuery整体架构源码解析 最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐进增强)优雅的处理能力以及 Ajax 等方面周到而强大的定制功能无不令人惊叹. 另外,阅读源码让我接触到了大量底层的知识.对原生JS .框架设计.代码优化有了全新的认识,接下来将会写一系列关于 jQuery 解析的文章. 我在 github 上关于 jQuery 源码的
前端html、Javascript、CSS技术小结
简单地总结了一下前端用过的html.javascript.css技术,算是清点一下,做个大略的小结,为进一步的学习给个纲领. 一.HTML 由于HTML5的兴起,简单地判断一个网页是否是html5网页,只需要找找内部是否有html5的标志性标签就行了.然而平时虽然写了不少html,却没怎么关注它的发展史: GML(Generalized Marcup Language)通用标记语言 和SGML(Standard Generalized Markup Language)标准通用标记语言. 由Tim
热门专题
数组指针动态分配内存
ffmpeg gpu 转码
小程序 自定义 时间选择器
android 访问WebService
C#如何修改非文件xml内容
pycharm 控制台背景色
ffmpeg h264缓存 推流
IIS 添加网站绑定时 指定登录会话不存在
html用JS导出的pdf格式怎么把图表不分页显示
linux 文件句柄 /fd
centos service编写
static 引用context 内存泄漏
pycharm把数据写进已有的excle
c语言求两圆相交部分面积
pycharm for 快捷
buuctf web [安洵杯 2019]easy_web
帝国cms 内容关键字替换
vs2019 可以用.net7
typora 好看主题 -CSDN
sqlserver,表格数据删除后,自增长也回到1