草庐IT

STM32F103C8T6实现CAN通讯与直流编码电机转速闭环控制

本次实验目的是通过CAN发送目标转速与转向信息,接收方在接到CAN数据流后开始对直流编码电机进行转速闭环控制。我会尽量说清每个函数,注释每一句代码,希望能对大家有所帮助。CAN通讯基于STM32自带CAN通讯模块,配合库函数使用十分方便。关于CAN通讯可以参考站内大佬的文章,讲解的十分透彻,末尾会提供链接。 电机驱动基于定时器1和TB6612,转速测量基于定时器2和直流电机自带编码器。另外,可通过三个LED来显示电机状态(正转,反转和停止);通过OLED来显示转速和其他信息(如PI输出)。目录1.CAN通讯驱动2.直流电机驱动(PWM)3.直流电机驱动(转向和转速控制)4.编码器驱动5.PI转

AD20的PCB板4层和6层,层级定义

4层板第一层(顶层)           ->  走线和地)第二层(内层)          ->  走线和电源层第三层(内层)           ->  完整的地层(可能有模拟地和数字地第四层(底层)           ->  走线和地说明:第二层和第三层可以互换,根据主要元件的布局层面确定,其紧邻层为地。*********************************************************************************************6层板 第一层(顶层)           -> 走线和地第二层(内层)           -> 

php - Azure AD B2C 使用 PHP 验证 JWT

警告:我是一个完全的JWT新手,正在努力弄清楚这一切。首先……我的理解是:JWT包含由.分隔的三个段第一部分可以进行base64解码以获得“某些东西”,我可以在其中验证第二(和第三?)段中的声明。我能够得到id_token返回并可以将每个段分离到其各自的JSON对象中……但这根本不安全:)我看了一下这个https://github.com/firebase/php-jwt但我不确定我需要提供什么KEY来解码JWT(我知道我可以解码第一段并获得用于JWT的kid但是当我有那个特定的key对象时......我不是确定将什么传递给firebase来解码它?https://login.micr

JQ8400语音模块-stm32f103c8t6(内含全代码)-亲测有效

一.模块介绍1.常见的JQ8400-FL语音模块有两种,一种是带3W功放,有4M的存储空间,可通过USB拷贝声音文件,通过单片机串口控制;另外一种是附有SD卡槽,用SD卡存储文件的文件(MP3格式)进行语音播报,也是通过单片机串口控制2.我用的是二线串口通信,一线的没试过3.程序完整代码以及其他资料均已打包放在了我的个人资源里面,需要的可以自行下载(需要5积分)二.主要引脚说明1ONELINE一线串口脚2BUSY忙信号脚,播放时为高,其它为低3RX芯片串口接收脚,接MCU的TX脚**(我用的是串口3)**4TX芯片的串口发送脚,接MCU的RX脚**(我用的是串口3)**5GND芯片数字地6DC

java - 为什么 SpringLDAP/普通 Java AD 查询中的 accountExpires 和 userAccountControl 过滤器不能按预期工作?

我在基于spring的webapp中使用SpringLDAPAPI来查询托管在WindowsServer2012上的ActiveDirectory。以下是我的环境详细信息:-Java1.8.0_101、apache-tomcat-8.0.36、SpringMVC4.3.1&SpringLDAP2.3.1以下AD过滤器查询在基于Windows(基于C++/C#)的查询工具(例如,LepideAD查询工具)以及eclipseIDE中的LDAP浏览器插件中获取匹配帐户,但不获取在Java(基于JNDI/SpringLDAPAPI)代码中以及在基于Java的应用程序JXplorer中使用时匹配

java - 验证 Azure AD token 签名失败 JAVA

我正在努力验证AzureADtoken签名。当我在下面的“jwks_uri”字段中查找正确的键描述时https://login.microsoftonline.com/common/.well-known/openid-configuration我检查所属的key数据。我尝试使用“n”-模数和“e”字段来生成用于签名验证的公钥,但最终出现错误:BASE64Decoderdecoder=newBASE64Decoder();byte[]modulusBytes=decoder.decodeBuffer(n);byte[]exponentBytes=decoder.decodeBuffer

STM32F103xx / STM32F429VET6最小系统原理图

STM32F429VET6核心板原理图一、前言先前使用过的是STM32F1系列,只使用和绘制过STM32F103C8T6和STM32F103ZET6的板子。心血来潮想试一下STM32F4系列和F1系列在编程上有什么差别,手头没有开发板,本着能勤俭节约的原则自己先做一块看看能不能成,看了一下STM32F429VET6的芯片在F429xx中最便宜,对照着数据手册绘制了原理图画了PCB,目前打板中,焊接完如果跑不通回来修改文章。二、单片机最小系统单片机最小系统一般包括:电源、时钟、复位、芯片、程序调试接口。先看一下STM32F103C8T6最小系统原理图(这个经过打板测试过,应该是没有问题):截图下

【硬件基础】STM32F103C8T6芯片引脚定义及功能介绍

1、引脚图片2、引脚定义图3、引脚功能介绍3.1引脚定义图解释上表中,S表示电源,IO表示输入输出,FT表示容忍电压可达5V,没有FT的只能达3.3V。VBAT,备用电源引脚,当系统断电时,备用电源可给内部的RTC时钟和备份寄存器供电。2号引脚,PC13-TAMPER-RTC,可以进行保护数据放在被读取3-6号引脚,晶振输入7号引脚,NTST,复位引脚8、9号引脚:VSSA,VDDA,内部模拟部分电源,如ADC,RC振荡器,接3.3v。10-19,21,22,25-33,41-43,45,46:IO口,20号引脚,PB2,io口,或boot1引脚,可用来配置启动模式,同BOOT0,23,24号

【STM32协议讲解】STM32CubeMX + STM32F103 + 逻辑分析仪分析IIC、SPI和串口协议

这段时间也是在准备STM32单片机的八股文总结,面试常问的一些关于传感器协议部分的问题,常见的为UART、RS232、RS485、IIC和SPI等。因UART、RS485和RS232同属串口协议,故只分析UART协议。本文主要是基于STM32CubeMx与正点原子的STM32F103精英学习板为实验基础,结合正点原子自产的逻辑分析仪进行波形分析。参考博客:【逻辑分析仪的简单使用介绍(附带i2c、串口、spi数据分析)】大纲一、IIC协议(以AT24C02为例)1.1IIC原理分析1.2STM32CubeMX+24C02实验1.3逻辑分析仪捕获IIC波形二、SPI协议2.1SPI协议原理2.2S

1.通过AD组策略如何做封禁高危端口的策略?AD域控如何给加域的电脑做指定端口号封禁呢?

目录(1)高危端口简介1.高危端口TCP和UDP类型2.为什么要做AD组策略封禁加域计算机的一些高危的端口?好处是什么?(2)实战步骤过程实验环境第一步:新建计算机策略-编辑第二步:将策略应用到OU