本章主要学习系统定时器,并用系统定时器来做一个延时函数。 文章目录 ​​前言​​ ​​一、SysTick简介​​ ​​二、使用步骤​​ ​​2.1寄存器相关配置​​ ​​2.2代码解读​​ ​​总结​​ 前言   之前我们做延时函数,就是一个for循环,然后不停的计数,然后根据频率去计算具体时间,定时器的原理和这个大致类似,不过他是一个独立的外设,不需要占用总资源。 ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ 一、SysTick简介   SysTick—系统定时器是属于CM4内核中的一个外设,内嵌在NVIC中。系统定时器是一个24bit的向下递减的计数器,计数...

方法一、Git下载源码 1.1、进入Linux官网        通过任意浏览器访问:​​https://www.kernel.org/​​,界面如下  1.2、选择版本         点击某一个版本对应的browse,Linux版本分为:mainline(主线版本)、stable(稳定版本)、longterm(长期演进版本)。  1.3、选择summary      ...

  qrJHiMhufrJ3   2023年11月13日   29   0   0 嵌入式Linux学习git

提示:本章主要了解一下通讯的基本概念,无代码 文章目录 ​​前言​​ ​​一、通讯的基本概念​​ ​​1.1串行通讯与并行通讯​​ ​​1.2全双工、半双工及单工通讯​​ ​​1.3同步通讯与异步通讯​​ ​​1.4通讯速率​​ ​​总结​​ 前言   对于嵌入式开发来说,基本就是在传递信息和解析信息,根据不同的环境选择不同的通讯方式,这很重要。 ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ 一、通讯的基本概念 1.1串行通讯与并行通讯   按数据传送的方式,通讯可分为串行通讯与并行通讯,串行通讯是指设备之间通过少量数据信号线(一般是8根以下),地线以及控制信号...

  qrJHiMhufrJ3   2023年11月13日   28   0   0 嵌入式单片机stm32通信通讯

文章目录 ​​前言​​ ​​一、什么是NVIC​​ ​​1.1NVIC简介​​ ​​1.2NVIC寄存器简介​​ ​​二、中断优先级​​ ​​2.1优先级定义​​ ​​2.2优先级分组​​ ​​三、中断编程​​ ​​总结​​ 前言   中断是系统逻辑十分常用的,学好中断,以及中断优先级的合理配置,才能使自己的项目更加稳定。 ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ 一、什么是NVIC 1.1NVIC简介   在讲如何配置中断优先级之前,我们需要先了解下NVIC。NVIC是嵌套向量中断控制器,控制着整个芯片中断相关的功能,它跟内核紧密耦合,是内核里面的一个...

  qrJHiMhufrJ3   2023年11月13日   36   0   0 嵌入式学习中断单片机stm32

一、简介         设计模式(Designpattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 二、设计模式的六大原则 2.1、开闭原则(OpenClosePrinciple)         开闭原则的意思是:对扩展开放,对修改关闭。在程序需要进行拓展的时候,不能去...

  qrJHiMhufrJ3   2023年11月13日   22   0   0 开发语言Linux学习设计模式UML

文章目录 ​​前言​​ ​​一、使用HSE​​ ​​二、使用HSI​​ ​​三、代码编写​​ ​​总结​​ 前言 这一篇记录一下时钟的具体实验。 ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ 一、使用HSE   一般情况下,我们都是使用HSE,然后HSE经过PLL倍频之后作为系统时钟。F429系统时钟最高为180M,这个是官方推荐的最高的稳定时钟,如果你想铤而走险,也可以超频,超频最高能到216M。   如果我们使用库函数编程,当程序来到main函数之前,启动文件:startup_stm32f429_439xx.s已经调用SystemInit()函数把系统时钟初始化成180...

  qrJHiMhufrJ3   2023年11月13日   33   0   0 嵌入式学习单片机stm32RCC

        发布-订阅模式和无线电广播有些类似,在你收听之前发送的消息你将无从得知,收到消息的多少又会取决于你的接收能力。让人吃惊的是,对于那些追求完美的工程师来说,这种机器恰恰符合他们的需求,且广为传播,成为现实生活中分发消息的最佳机制。想想非死不可、推特、BBS新闻、体育新闻等应用就知道了。         但是,在很多情形下,可靠的发布-订阅模式同样是有价值的。正如我们讨论请求-应答模式一样,我们会根据“故障”来定义“可靠性...

  qrJHiMhufrJ3   2023年11月13日   26   0   0 ZMQLinux数据库服务器中间件

本篇以一个简单的抢答器来学习外部中断。 文章目录 ​​前言​​ ​​一、项目概况​​ ​​1.1项目需求​​ ​​1.2项目来源​​ ​​1.3开发环境​​ ​​1.4项目意义​​ ​​二、开发步骤​​ ​​2.1涉及硬件电路​​ ​​2.2项目代码​​ ​​2.2.1中断配置​​ ​​总结​​ 前言   前一篇大致了解了什么是中断,中断需要配置的参数,再结合之前的按键输入,这一篇实战一下。 ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ 一、项目概况 1.1项目需求 两个按键,按下后蜂鸣器都会响; 1号按键按下,led红灯长亮;2号按键按下,led...

  qrJHiMhufrJ3   2023年11月13日   20   0   0 嵌入式学习单片机c++stm32

一、重要概念         位码即tcp标志位,有6种表示:         SYN(synchronous建立连接)         ACK(acknowledgement表示响应、确认)         PSH(push表示有DATA数据传输)   &...

  qrJHiMhufrJ3   2023年11月13日   20   0   0 网络TCP/IP服务器TCP数据

克隆服务器的可靠性         克隆模型1至5相对比较简单,下面我们会探讨一个非常复杂的模型。可以发现,为了构建可靠的消息队列,我们需要花费非常多的精力。所以我们经常会问:有必要这么做吗?如果说你能够接受可靠性不够高的、或者说已经足够好的架构,那恭喜你,你在成本和收益之间找到了平衡。虽然我们会偶尔丢失一些消息,但从经济的角度来说还是合理的。不管怎样,下面我们就来介绍这个复杂的模型。         在模型3中,你会关闭和重启服务,...

  qrJHiMhufrJ3   2023年11月13日   25   0   0 ZMQLinux数据库服务器中间件

switch...case一般写法: switch(表达式){casedata1:语句1break;casedata2:语句1break;casedata3:语句1break;casedata4:语句1break;...default:语句nbreak;} if...else一般写法: if(boolean){代码块}elseif(boolean){代码块}elseif(boolean){代码块}else{代码块} switch...case实现原理 通俗的说,先把内存中switch里面的case值按照顺序生成一个表,当没有那个值时,它对应的就是default。 具体...

  qrJHiMhufrJ3   2023年11月13日   25   0   0 多路加载代码块

for循环介绍 for循环的一般形式为: for(语句1;语句2;语句3){语句块} 1、for循环开始时,会先止血语句1,而且在整个循环过程中只执行一次语句1。 2、判断表达式的条件,如果条件成立,就止血一次循环体中的语句块。 3、语句块执行完后,结下了会执行语句2。 4、重复第2步和第3步,直到表达式的条件不成立才结束for循环。 注意:        1、在for循环中,语句1、表达式和语句2都可以为空,for(;;)等同预while(1)。      &...

  qrJHiMhufrJ3   2023年11月13日   19   0   0 while循环for循环编译器

一、源码下载 1.1、配置要求        官方推荐配置请参考:​​https://source.android.google.cn/docs/setup/start/requirements?hl=zh-cn​​,重点有如下几项: 1.1.1、硬件配置要求        1、内存至少16GB,实测建议至少32G。        2、磁盘至少250GB,实测建议至少512G。 1.1...

缓冲区是为了让低速的输入输出设备和高速的用户程序能够协调工作,并降低输入输出设备的读写次数。 用户程序的执行速度可以看做CPU的允许速度,如果没有各种硬件的阻碍,理论上它们是同步的。 例如,我们都知道硬盘的速度要远低于CPU,它们之间有好几个数量级的差距,当向硬盘写入数据是,程序需要等到,不能做任何事情,就像卡顿了一样,用户体验非常差。计算机上绝大多数应用程序都需要和硬件打交道,例如读写硬盘、向显示器输出、从键盘输入等,如果每个程序都等待硬件,那么整台计算机也将变得卡顿。 但是如果有了缓冲区,就可以将数据先放入缓冲区中(内存的读写速度也远高于硬盘),然后程序可以继续向下执行,等所有的数据都准...

  qrJHiMhufrJ3   2023年11月13日   28   0   0 用户程序行缓冲数据

提示:本篇文章主要了解学习一下DMA 文章目录 前言 一、DMA是什么? 二、DMA使用步骤 1、外设通道选择 2.2、仲裁器 2.3、FIFO 2.4、存储器端口外设端口 2.5、编程端口 三、DMA结构体初始化详解 总结 前言 上一篇文章学习了串口通信,这一篇我们来学习一下DMA的使用。 ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ 一、DMA是什么?   DMA(DirectMemoryAccess,直接存储区访问)为实现数据高速在外设寄存器与存储器之间或者存储器与存储器之间传输提供了高效的方法。之所以称之为高效,是因为DMA传输实现高速数据移动过程无需任...

  qrJHiMhufrJ3   2023年11月13日   30   0   0 嵌入式单片机C语言stm32DMA

提示:本篇开始学习各种通讯方式,重中之重。 文章目录 前言 一、串口通讯协议简介 1.1物理层 1.2协议层 1.2.1基本组成。 1.2.2波特率 1.2.3起始和终止位 1.2.4有效数据 1.2.5数据校验 二、USART结构体详解 总结 前言   作为一个嵌入式的开发者,解析信息、传递信息是十分重要的,前面一篇大致介绍了通讯的概念,这一篇一个很常用的通讯方式——串口通讯。   ​​提示:以下是本篇文章正文内容,下面案例可供参考​​ 一、串口通讯协议简介   首先,对串口通讯协议我们分为物理层和协议层两个层面来理解,物理层规定通讯系统中具有机械、电子功能部分的特...

  qrJHiMhufrJ3   2023年11月13日   26   0   0 学习单片机嵌入式硬件UART串口

有可能,你碰不到好领导。因为他做领导的位置,所以他的话就比较有道理,这是传统观念官本位的误区,可能有大量的这种无知、无能的领导,这对于你其实是好事。如果将来有一天你呀哦超过他,你希望他比较聪明还是笨?相对来说这样的领导确实不难搞定,只是你要把自己的身段放下了而已。多认识些人,多和比自己强的人打交道,同样能找到好的老师,不要和一群同样郁闷的人一起控诉社会,控诉老板,这帮不上你,只会让你更消极。职场上最忌讳的是你还在这家公司却不停的抱怨公司本身。正确的做法是和那些逼你强的人打交道,看他们是怎么想的,怎么做的,学习他们,最终提升自己的能力才是最重要的。  

  qrJHiMhufrJ3   2023年11月13日   19   0   0 其它

1、在C程序中调用被C编译器编译过的函数,为什么需要加上extern“C”? C语言支持函数重载,C语言不支持函数重载,函数被C和C语言的不同。假设某个函数的原型为voidfoo(intx,inty)。该函数被C编译器编译后在哭的名字为_foo,而C编译器会产生像_foo_ini_int之类的名字。 C提供了C链接交换指定符号extern"C"解决名字匹配问题。 2、头文件中的ifndef/define/endif是干什么用的? 头文件中的ifndef/define/endif是条件编译的一种,除了头文件被防止重复引用(整体)。还可以防止重负定义(变量、宏或结构体)。

  qrJHiMhufrJ3   2023年11月13日   21   0   0 头文件函数重载编译器

一、检测慢订阅者(自杀的蜗牛模式)               在使用发布-订阅模式的时候,最常见的问题之一是如何处理响应较慢的订阅者。理想状况下,发布者能以全速发送消息给订阅者,但现实中,订阅者会需要对消息做较长时间的处理,或者写得不够好,无法跟上发布者的脚步。         如何处理慢订阅者?最好的方法当然是让订阅者高效起来,不过这需要额外的工作。以下是一些处理慢订阅者...

  qrJHiMhufrJ3   2023年11月13日   25   0   0 开发语言ZMQLinux服务器中间件

一、概述         超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可以直接读懂其中的信息,因此,HTTP协议不适合传输一些敏感信息,比如:信用卡号、密码等支付信息。         为了解决HTTP协议的这一缺陷,需要使用另一种协议:安全套接字层超文本传输协议HTTPS,为了数据传输的安全...

  qrJHiMhufrJ3   2023年11月13日   17   0   0 网络HTTPhttps通信网络协议
关注 更多

空空如也 ~ ~

粉丝 更多

空空如也 ~ ~