08 2023 档案
摘要:STM32的相关知识 1.主流的32位高性能单片机,是ARM架构,但是ARM架构不一定是stm32 三种stm32编程的方法: 1.寄存器操作 2.标准库(标准外设库)操作:代码复用 3.HAL库:集成了很多功能,有点像操作系统,图形化编程 下面为数据手册的前4章:存储器和总线架构+电源控制+复位和
阅读全文
摘要:服务器基础框架: I/O处理单元:处理客户连接,读写网络数据 逻辑单元:业务进程或线程,分析并处理客户数据,将结果传递给I/O处理单元或者客户端。 网络存储单元:本地数据库、文件或缓存 队列:各单元之间的通信方式的抽象。 I/O模型: socket 创建的时候默认是阻塞的,可以传递参数设置成非阻塞。
阅读全文
摘要:Linux:所有东西都是文件。socket也是可读,可写,可控制,可编程的文件描述符。 I/O高级函数: 1.pipe()和dup()/dup2() pipe()函数创建的两个文件描述符fd[0]和fd[1]分别构成管道的两端,往fd[1]中写入的数据可以从fd[0]中读出。且,fd[1]只能写入数
阅读全文
摘要:# DMA DMA直接存储器存取,用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。 DMA1有7个通道,DMA2有5个通道,还有一个仲裁器来协调各个DMA请求的优先权。 DMA的作用是实现数据的直接传输,从地址到地址的数据传输。 DMA传输的相关参数:源地址,目标地址,数据传输量,传
阅读全文
摘要:外部中断: 向量表:异常+中断 所有端口的PIN0对应着EXTI0中短线,PIN1对应EXTI1中断线,依次类推 16个外部中断线,对应7个外部中断入口地址 配置中断优先级的4位要同时完成抢占优先级和响应优先级(子优先级或副优先级)的配置:两组优先级 2+2,2^2抢占,2^2响应比较常用 使用NV
阅读全文
摘要:定时器 8个定时器,高级定时器TIM1+TIM8,通用定时器TIM2-TIM5,基础定时器TIM6+TIM7; 定时器PWM输出 每个定时器有4路输出通道:OC1-OC4 涉及的固件库:stm32f10x_tim.c/stm32f10x_tim.h 1.定时器初始化: void TIM_TimeBa
阅读全文
摘要:RCC(复位和时钟控制): 系统复位的因素: 1.NRST按键复位 2.看门狗复位 3.软件复位 4.低功耗管理复位 SYSCLK系统时钟: 1.HSI时钟 2.HSE时钟:外部晶振 3.PLL时钟 系统时钟: PCLK1:APB1分频,最大36mhz PCLK2,ADC,TIM1,TIM8:APB
阅读全文
摘要:GPIO按照ABC进行分组管理,每组GPIO都有自己独立的配置寄存器: GPIOX_CRL/GPIOx_CRH:输入输出模式配置 GPIOx_IDR:数据输入 GPIOx_ODR:数据输出 RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE);
阅读全文
摘要:## 定时器 定时器寄存器: TMOD:方式寄存器,设定定时器0和定时器1的工作方式 C/T:0为定时,1为计数 TCON:控制寄存器,可位寻址 TCON:TF1|TR1|TF0|TR0|IE1|IT1|IE0|IT0 前面四位用于定时/计数,后面四位用于控制外部中断 两个模式:定时和计数模式 ##
阅读全文
摘要:低级语言->机器语言:使用汇编系统将其翻译成机器语言,该过程为汇编 高级语言->机器语言:使用编译系统将其翻译成机器语言,该过程为编译 设计流程: 1.整体构思 2.构建整体的流程图 3.局部模块化 简单程序设计: 结构特点:按指令的先后顺序依次执行 基础步骤: 1.流程图 2.分配内存及端口 3.
阅读全文
摘要:电路结构: P0,P1,P2,P3四个并行的IO口 P0口复用为低8位地址线和数据线 P1口复用为高8位地址线 P2口双向IO端口 P3口通信,中断等第二功能 指令:程序存储器中 从IO口读取数据前,必须先给IO拉高,全置为1(why?使内部的FET截止,再读入引脚的状态) 时钟电路与复位电路: 复
阅读全文