草庐IT

STM32---stm32f103c8t6与stm32f103zet6之间的代码移植转换

目录一、将c8t6转换为zet61、修改启动文件2、修改芯片3、将MD修改为HD 4、下载器的修改5、修改完成,编译成功 二、将zet6转换为c8t6一、将c8t6转换为zet61、修改启动文件最终结果如下: 2、修改芯片 将STM32F103C8改为STM32F103ZE3、将MD修改为HD  4、下载器的修改5、修改完成,编译成功 二、将zet6转换为c8t6基本相同,反向即可。  

基于stm32f103c8t6与jdy23蓝牙模块实现手机app点亮灯

  蓝牙模块:jdy231.介绍:JDY-23透传模块是基于蓝牙5.0协议标准,工作频段为2.4GHZ范围,调制方式为GFSK,最大发射功率为4db,最大发射距离60米,采用进口原装芯片设计,支持用户通过AT命令修改设备名、波特率等指令,方便快捷使用灵活。JDY-23蓝牙模块可以实现模块与手机数据传输,默认无需配置即可快速使用BLE蓝牙进行产品应用。2.硬件电路:如透传不需要低功耗或在连接状态下不需要发断开指令,PWRC引脚可以不接。如不需要低功耗,不需要检测连接状态的话,只需要连接VCC、GND、RXD、TXD4个引脚3.AT指令的使用:1.首先蓝牙模块直接和转串口模块链接rx==》txtx

基于STM32F1-C8T6无人机(二)——舵机/电调/空心杯电机/飞控/机架/subs接收机/充电器和电池(给出链接和思考)

文章目录一、关于电机的选择二、关于飞控三、看懂原理图的接线四、电机和桨叶五、机架六、sbus接收机的选择七、转向问题八、充电器和电池的选择主要参考STM32F103C8T6开发板+GY521加速度计模块制作有刷四轴飞控,改造空心杯小四轴b站up主:北郊强哥一、关于电机的选择文章推荐:空心杯电机学习笔记视频推荐:空心杯电机型号大盘点,原来有这么多赶紧收藏二、关于飞控参考文章:STM32F103C8T6开发板+GY521加速度计模块制作有刷四轴飞控,改造空心杯小四轴主要看这篇三、看懂原理图的接线四、电机和桨叶主要是根据创意点子的机架而确定的,这里选用720的空心杯电机和55mm的桨叶五、机架选用意

用USB转TTL串口烧录程序 STM32F103C8T6核心板(CH340)

这个方法步骤比较繁琐,仅作为st-link烧录的补充。1.选择在编译时,创建.hex文件。打开魔棒工具,勾选CreateHEXFile2.点击编译程序,创建.hex文件。点击“编译”后,.hex在Objects文件夹中。3.接线TXD接STM32上PA9        TXD接STM32上PA10 4.配置烧录软件1.①中选择刚才创建的.hex文件2.选择如果②选择的是        “DTR的高电平复位,RTS低电平进BootLoader”,跳线帽插拔如图所示。3.按下stm32上的复位键。4,点击③,读器件信息。如果读取到了右边会显示正常。5.点击⑤,开始编程,将程序烧录进去。

STM32C8T6I2C驱动OLED显示汉字版本(江科大基础改编)

最近突然想显示汉字,然后翻了一圈发现版本好多,所以就挑了一个合适的。然后我的目的主要是驱动OLED0.96寸显示汉字,所以很简单,就是先配置驱动的模型库constuint8_tOLED_F10x16[][40]={0x00,0x00,0x10,0x10,0x12,0xFE,0x90,0x10,0x10,0x7E,0x50,0x50,0x50,0x48,0x48,0x44,0x44,0x70,0x40,0x00,0x00,0x02,0x02,0x42,0x41,0x3F,0x00,0x00,0x00,0x41,0x7E,0x2A,0x2A,0x2A,0x2A,0x2A,0x7F,0x00,0x0

UINT64整型数据在格式化时使用了不匹配的格式化符%d导致其他参数无法打印的问题排查

目录1、问题描述2、格式化函数内部解析待格式化参数的完整机制说明2.1、传递给被调用函数的参数是通过栈传递的2.2、格式化函数是如何从栈上找到待格式化的参数值,并完成格式化的?2.3、字符串格式化符%s对应的异常问题场景说明2.4、为了方便理解上述机制,附上VC6.0中的CString类的Format函数的实现源码2.5、如果要格式化某个C++类对象的数据,且对象中包含多个数据成员,要明确指定要格式化的那个数据成员3、本案例中的问题分析与排查3.1、问题代码3.2、初步分析3.3、为什么UINT64型数据使用%d格式化符会有问题?3.4、解决办法4、最后VC++常用功能开发汇总(专栏文章列表,

STM32F103C8T6---定时器1&定时器8输出PWM信号注意事项

始终要有一颗学习的心博主今天在驱动定时器1的通道1输出PWM信号的时候,遇到了好多问题,在这里指出,警醒自己的同时希望能给各位带来帮助首先,第一个错误,第一:PA8引脚默认模式就是定时器1的通道一,我们在代码里面,直接将PA8的输出模式改为复用推挽输出,不要去重定向它,也不要去使能复用功能时钟第二:定时器1&定时器8是高级定时器,博主对着抄正点原子的定时器3的pwm代码,一直不能实现效果,最终还是求教万能的百度才找到答案,高级定时器默认是强制禁止OC&OCN输出,这里想要输出PWM,必须使能它,对应库函数也就是TIM_CtrlPWMOutputs(TIM1,ENABLE);//确定让TIM1输

java - 如何在 Java 中将 MySQL unsigned int 转换为 Protocol Buffer uint32?

我正在努力将一堆旧的制表符分隔的MySQL数据库转储文件转换为ProtocolBuffer,但遇到了麻烦。MySQL表包含一个类型为int(11)unsigned的字段,我已将其映射到.proto文件中的protobufuint32。在解析MySQL记录并尝试将它们转换为protobuf消息时,很容易使用Integer.valueOf(String)(或Long.valueOf(String))来解析该字段以避免溢出)。然而,ProtocolBuffersLanguageGuide表示here在Java中,uint32使用int数据类型表示,但第一位被重新解释为最高位而不是符号位。所以

STM32F103C8T6蓝牙OTA教程

一、准备与简介1.准备材料  文章使用的软硬件并不局限,下述仅作参考,文章的所有使用的工程可在文末获取(百度网盘+Github)1)STM32F103C8T6核心板2)下载器(PWLINK)3)蓝牙透传模块(HC-04)4)软件:Keil5MDK+SecureCRT(支持Ymodem协议传输的终端仿真软件)2.OTA简介  OTA:Over-The-Air,即通过无线通信网络进行固件或件的升级和更新的技术手段。通过OTA,用户可以通过无线网络直接下载和安装最新的软件版本,而无需连接到电脑或使用数据线进行更新[数据来源:CSDN-C知道模型训练的大型语言模型]。对单片机而言,简单的说就是我们无需

基于stm32c8t6移植FreeRTOS问题汇总

 1.在移植该操作系统最重要的一个文件便是FreeRTOSConfig.h,像ZET6这种大容量的板子所采用得堆栈大小一般来说会是20*1024,而在c8t6这块最小系统板的flash128k,堆栈大小就没有其例程程中给的那么大,所以我们要把这个堆栈大小改为10*1024。若不该则会出现编译无误,无法运行的情况。 2.在运行外部中断恢复任务的时候,一定不要在中断服务函数中调用延时函数,否则会引起系统调度问题导致无法运行,若不删除或注释掉延时函数系统将会报报 Error:..\FreeRTOS\port\RVDS\ARM_CM3\port.c,378和Error:..\FreeRTOS\src\