STM32启动文件浅析 STM32启动文件由ST官方提供,在官方的固件包里。启动文件由汇编编写,是系统上电复位后第一个执行的程序。初始化堆栈指针初始化程序计数器指针设置堆和栈的大小初始化中断向量表配置外部SRAM作为数据存储器(可选)配置系统时钟,通过调用SystemInit函数(可选)调用C库中的 _main 函数初始化用户堆栈,最终调用 main 函数ARM指针寄存器 —— 堆栈指针寄存器SP、程序计数器PC、连接寄存器LR堆栈指针R13(SP)
Linux操作常用问题 将“compatible”改成“nocompatible”非兼容模式就可以解决方向键变ABCD的问题了。编辑/etc/systemd/resolved.conf文件来修改DNS,结果编辑时键盘乱码,按下方向键会出现ABCD,且回退键也不能删除。输入下面的命令,编辑文件/etc/vim/vimrc.tiny,将“compatible”改成“nocompatible”非兼容模式;
C/C++常用错误 or 规范注意 之前做过关于python报错集(未来如果出现一些有意义的错误还是会继续更新的),今天记录一下C/C++的一些常见错误(可能其实不算error,只是根据规范,尽量提升代码质量)
多核和多处理器的区别 多核系统具有一个带有多个处理单元的处理器;这些处理单元称为核心。多处理器系统具有两个或更多处理器;多处理器系统比多核系统可靠的多,但多处理器系统与多核系统相比具有更复杂的配置。多核处理器和多处理器系统都用于加速系统的计算过程。众所周知,处理器/CPU是计算机的大脑,它负责计算机的所有功能;CPU的执行单元称为核心,核心的主要功能是读取和执行指令,这些指令可以有多种形式,包括计算、数据传输、分支等;具有单核的处理器称为Unicore处理器,但具有两个或更多核心的处理器称为多核处理器;
Shell学习 在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:数组名=(值1 值2 … 值n)# 或者value0value1value2value3# 还可以单独定义数组的各个分量:可以不使用连续的下标,而且下标的范围没有限制。
HomePlug AV 由于交流电力线的噪声随交流电周期同步,不同的相位噪声不同,如峰值附近噪声最大,因此,把一个Beacon周期分为不同的时间片Slot,每个时间片单独进行信道评估,进行信道训练,获取bit分配图(Tone Map),以获取最优性能,否则只能按照最初噪声来适应线路。属于同一个AVLN网络的两个STA,是可以互相通信的,即使他们不在同一物理网络中。如上图网络C中的,A、B和C、D不在同一网络,但也是可以相互通信的。FC采用单独的编码( 1/2 FEC),使用更多的拷贝方式,使得数据传输更可靠。
PLC常用通信协议应用 Modbus是一种标准通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表。Modbus协议是一个1.即仅一设备(主设备)能初始化传输(查询),其它设备(从设备)根据主设备查询提供的数据作出相应反应;理论上最多支持247(10进制)台从设备。2.主设备可单独和从设备通信,也能以**广播方式(站号0)**和所有从设备通信。如果单独通信,从设备返回一消息作为回应,如果是以广播方式查询的,则不作任何回应。
理解C++ 11新特性 可以说,这种情况下,只提供非引用类型的版本,也是可以接受的。而std::move()的实现还需要先移除形参的所有引用性质得到无引用性质的类型(假设为T2),然后再return static_cast(形参),从而保证不会发生引用折叠,而是直接作为右值引用类型的值返还(返还值为右值)。因此,这里也不建议函数返还右值引用类型,同前面传递参数类似的,移动构造开销不大的时候,直接返还非引用类型就足够了(在某些特殊场合有特别作用,准确来说一般用于表示返还成一个右值,如std::move的实现)。
汽车网络架构与常用总线汇总 是控制器局域网Controller Area Network 的缩写,1986年,由德国Bosch公司为汽车开发的网络技术,主要用于汽车的监测与控制,目的为适应汽车“减少线束的数量”“通过多个网络进行大量数据的高速传输”的需求。汽车网络是将汽车上所有电子传感器、执行器和电子控制单元(ECU)连接组网的通信形式。根据通信速率,汽车工程师协会(SAE)定义了如下类别的汽车网络。并接到同一总线时,只要其中一个节点输出低电平,总线就为低电平;定义:CAN收发器逻辑信号和物理信号之间的转换采用。
UDS诊断 网络层功能PDU说明7E0h 8 02 10 01 55 55 55 55 55N_PCI结构例子:FS含义BS含义STmin含义将N_PDU映射到CAN数据帧的不同位置,构成了4种地址格式SF_DL错误:SF_DL=0或者SF_DL > 7(常规寻址)FF_DL错误SN错误FS错误N_WFTmax
SSM整合 环境要求IDEAMySQL 8Tomcat 9.0.52Maven 3.6要求:需要熟练掌握MySQL数据库,Spring,JavaWeb及MyBatis知识,简单的前端知识;数据库环境创建一个存放书籍数据的数据库表CREATE DATABASE `ssmbuild`;USE `ssmbuild`;DROP TABLE IF EXISTS `books`;CREATE TABLE `books` ( `bookID` INT(10) NOT NULL AUTO_INCREME
SpringMVC环境下关于DispatcherServlet的错误 在学习狂神的SpringMVC讲解视频时,P6构建HelloController.java类后启动tomcat后,报了404(一开始报500,然后是因为tomcat的配置出问题了,,,不过解决了)再检查代码(有关路径的部分时),一直改路径,但是都没有啥用后来以为是mvc依赖版本过高了,降了版本后,发现并没什么用<dependency> <groupId>org.springframework</groupId> <artifactId>
SpringMVC学习笔记 MVCMVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范Model(模型) - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑,在数据变化时更新控制器。View(视图) - 视图代表模型包含的数据的可视化。Controller(控制器) - 控制器作用于模型和视图上。它控制数据流向模型对象,并在数据变化时更新视图。它使视图与模型分离开。是将业务逻辑、数据、显示分离的方法来组织代码MVC主要作用是降低了视图与业务逻辑间
Spring学习笔记 Spring框架Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益 -----(摘自百度百科)Spring:春天 —> 给软件行业带来了春天2002,首次推出了Spring框架的雏形:interface 21框架Spring框架即以interface 21框架为基础,经过重新设计,并不