草庐IT

HAL_TIM_Encoder_Start

全部标签

android - SQLite 异常 : cannot start a transaction within a transaction (code 1)

我在完成一个SQLite事务时遇到了问题,我完全不知道该怎么做。完全看起来像thisbug从2007年开始。我正在创建我的employee表(它引用另一个表entity)如下(为简洁起见进行了编辑):CREATETABLEemployee(_idINTEGERNOTNULL,PRIMARYKEY(_id),FOREIGNKEY(_id)REFERENCESentity(_id)ONDELETEcascadeONUPDATEcascadeDEFERRABLEINITIALLYDEFERRED)然后我按如下方式运行事务(使用SQLiteDatabase对象,我还在日志中报告事务状态):>>

解决 Web server failed to start. Port xxx was already in use.端口占用问题

一.背景。今天启动多个项目,没有注意项目的端口,结果启动的时候控制台打印端口占用了,特此来记录一下。二.解决方式。1、换一个未被占用的端口,再启动。2、查看被占用端口的进程。netstat-aon|findstr端口号3、根据PID找到占用此端口的进程。tasklist|findstr端口号4、结束此进程。 taskkill/f/t/im进程名5、完成。三、总结。每天记录一点,日积月累就是笔记。 

HAL库 STM32 串口通信

一、实验条件将STM32的PA9复用为串口1的TX,PA10复用为串口1的RX。STM32芯片的输出TX和接收RX与CH340的接收RX和发送TX相连(收发交叉且PCB上默认没有相连,所以需要用P3跳线帽进行手动连接),CH340的另一端通过USB口引出与USB线相接。CH340作用:RS232电平标准转USB电平标准)。再使用USB转串口线实现PC与板子的通信。PC端需要安装CH340虚拟串口驱动,目的是为了有CH340的通信协议。在使用串口调试助手进行通信时注意一下几点。1.发送英文字符需要用一个字符即8位,发送汉字需要两个字符即16位,如上图,发送汉字“宋”实际是发送“CB(110010

hal库实现us延时

用hal库实现us延时一般有两种做法,一种是用定时器,一种是用系统自带的滴答计数器本文章主要介绍用系统自带的滴答计数器来实现延时1、实现函数voidHAL_Delay_us(uint32_tnus){ //设置定时1us中断一次 HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000000);//调用系统自带的延时函数 HAL_Delay(nus-1);//将定时中断恢复为1ms中断 HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);}2、实现思路2.1:用cubemx生成的代码中,系统定时器每次计数完都会中断一次

【STM32】HAL库入门学习

目录1.前言2.Hal库特点3.获取方法3.1下载3.2所在目录4.HAL库用户手册结构4.1用户手册的文档4.2“ADC”外设解析4.3ExportedFunctions4.4ExportedTypes4.5ExportedConstants4.6ExportedMacros4.6PrivateContants4.7PrivateMacros4.8PrivateFunctions5.结论1.前言        ST为开发者提供了非常方便的开发库:有标准外设库(SPL库)、HAL库(HardwareAbstractionLayer,硬件抽象层库)、LL库(Low-Layer,底层库)三种。前者

[STM32F103C8T6]W5500+Modbus TCP(HAL库)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、ModbusTCP是什么?1.1.1ModbusTCP介绍1.1.2报文格式二、W5500配置三.读保持寄存器&&写单一寄存器函数1.代码展示2.参考资料总结前言本章节是博主学习ModbusTCP所写的一篇文章一、ModbusTCP是什么?1.1.1ModbusTCP介绍ModbusTCP是Modbus的一个分支,主要用到网口通信的,在工业上也用的很频繁,我们公司最近的项目就是用的W5500+modbusTCP来和PC端的上位机通信和交互的。虽然这个项目不是我在写代码,但是我都学了ModbusRTU了,那我也抽空学

STM32 HAL库 STM32CubeMX -- SPI

文章目录一、SPI协议简介SPI物理层SPI协议层二、SPI的架构三、通讯过程四、STM32CubeMX配置五、SPIHAL库函数一、SPI协议简介SPI(SerialPeripheralInterface)协议,即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在ADC、LCD等设备与MCU间,要求通讯速率较高的场合。SPI物理层SPI通讯使用3条总线及片选线,3条总线分别为SCK、MOSI、MISO,片选线为SS(CS),它们的作用介绍如下:(1)SS(SlaveSelect):从设备选择信号线,常称为片选信号线,也称为NSS、CS,以下用NSS表示。低电平表示选中当有多个SP

Linux 中启动 Docker 服务时遇到错误消息 `failed to start docker.service: unit docker.service is masked` 启动失败的解决方法

如果在Linux中启动Docker服务时遇到错误消息`failedtostartdocker.service:unitdocker.serviceismasked`,那么说明Docker服务已经被系统禁用了。在Linux系统中,可以使用`systemctl`命令来管理系统服务。如果某个服务被禁用,那么该服务的`systemd`单元文件会被标记为"masked"。标记为"masked"的服务无法启动,也无法通过`systemctlunmask`命令来取消标记。如果要启用Docker服务,可以使用以下命令:```sudosystemctlunmaskdocker.servicesudosystem

hdfs --daemon start datanode指令介绍

hdfs--daemonstartdatanode是Hadoop分布式文件系统(HDFS)命令之一,用于启动一个数据节点(Datanode)守护进程。在HDFS中,数据节点是存储HDFS数据块的物理节点。数据节点存储和管理数据块,并向客户端和其他数据节点提供读写操作。通过启动hdfs--daemonstartdatanode命令,可以启动一个数据节点守护进程,以便在HDFS集群中加入一个新的数据节点。运行hdfs--daemonstartdatanode命令时,必须确保HDFS环境已正确配置,并且当前用户具有足够的权限以启动HDFS守护进程。同时,需要注意在启动数据节点之前,必须先启动HDFS

STM32 Cube IDE HAL库驱动 W25Q128 进行读、写、擦除操作

一、W25Q128相关理论W25Q128存储大小为128M-bit=16MB,可编程位(地址)为Flash_Size=16*1024*1024=16777216B。W25Q128包含256个块、每个块(64KB)16个扇区(4096个扇区)、每个扇区(4KB)有16页、每一页有256个字节(Byte)。写数据:一次最多写一页不能跨页写入;擦除:可以选择擦除一个扇区(4KB)、擦除半个块(32KB)、擦除一个块(64KB)、擦除整个芯片。Flash有一个特点,就是可以将1写成0,但是不能将0写成1,要想将0写成1,必须进行擦除操作。如果要改变数据,就需要先擦除后写数据。可以理解为将W25Q128