上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 31 下一页
摘要: 环境说明: 开发板:野火STM32指南者 单片机:STM32F103VET6 SPI_FLASH:W25Q64(Q80, 16, 32, 64, 128均可) IDE:Keil V5 USB大容量存储设备类(The USB mass storage device class),简称MSC(Mass 阅读全文
posted @ 2023-11-28 17:08 FBshark 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 为了使用 stdio 的printf()函数,而printf()函数是依靠底层的 fputc() 工作的,所以需要将 fputc 函数进行重写,这个过程叫做“重定向”。 STM32 标准库重定向: int fputc(int ch, FILE* f) { UART_Send_Byte(USART1, 阅读全文
posted @ 2023-11-28 16:47 FBshark 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 本文转载自博客园博主:Couvrir洪荒猛兽 原文章链接:https://www.cnblogs.com/couvrir/p/17461078.html MCU:STM32F103VET6 开发板:野火指南者 开发环境:STM32CubeMX+MDK5 USB虚拟串口,简称VCP,是Virtual 阅读全文
posted @ 2023-11-21 23:57 FBshark 阅读(3236) 评论(0) 推荐(1) 编辑
摘要: 在一般工程中,通用的配置是开启时钟(RCC配置)、以及HAL初始化配置(SYS配置)。本文主要讲解SYS配置。 SYS配置页各配置项 CubeMX 中 SYS配置页如下: Debug :默认是关闭的,如果不使用调试器关闭即可,即No Debug;在STM32CubeMX的SYS选项栏中有SW和JTA 阅读全文
posted @ 2023-11-21 23:17 FBshark 阅读(1730) 评论(0) 推荐(1) 编辑
摘要: STM32 的 USB 模块可以产生三种中断:USB唤醒中断、USB高优先级中断和USB低优先级中断,在STM32的参考手册中没有详细说明这三种中断对应哪些事件,现说明如下: 1)USB唤醒中断:在中断向量表中的位置是42。这个中断在USB设备从暂停模式唤醒时产生,唤醒事件由USB_ISTR寄存器的 阅读全文
posted @ 2023-11-19 21:55 FBshark 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 问题 在Java中,int类型数据的大小比较可以使用双等号,double类型则不能使用双等号比较大小(0,0 == 0.0 是不可以的),那若使用double类型时怎么进行比较呢? 方法 (1)转换为字符串 如果要比较的两个double数据的字符串精度相等,可以将数据转换成string然后借助str 阅读全文
posted @ 2023-11-14 13:56 FBshark 阅读(291) 评论(0) 推荐(0) 编辑
摘要: 当进行数组初始化的时候,可以采用 ={一个元素的值} 的方式,例如: int intarr[10] = {1}; int chararr[20] = {'a'}; 使用这种方式初始化,可以将数组所有成员都初始化,没有随机值,从而保证了安全。 其中,数组的值初始化为:第一个值(arr[0])为指定元素 阅读全文
posted @ 2023-11-14 12:05 FBshark 阅读(38) 评论(0) 推荐(0) 编辑
摘要: ATT 层规定了ATT_MTU。其具体数值是多少呢? 其中:Attribute Parameters 长度为: 一般情况下L2CAP层有MIC,ATT_MTU 将是 0B - 23B/247B BLE 4.0/4.1支持下的最大长度 (MTU)是23B; BLE 4.2/5.0是247B。同时 BL 阅读全文
posted @ 2023-11-13 21:48 FBshark 阅读(225) 评论(0) 推荐(0) 编辑
摘要: OpCode 总体构成 OpCode 由以下三部分组成: Opcode PDU :代替某种命令,通过的PDU携带的Attribute Parameters格式不同,下面详细说明。bit 0-5位表示。 Command:表示PDU Type 是否是命令(Command )。bit 6表示。 Authe 阅读全文
posted @ 2023-11-13 21:33 FBshark 阅读(272) 评论(0) 推荐(0) 编辑
摘要: 一、 lwip 源码和资源 lwip官方网站:https://savannah.nongnu.org/projects/lwip/ lwip官方网站下载地址:https://download.savannah.nongnu.org/releases/lwip/ 二、教程与例程 1. 资料中心: 野火 阅读全文
posted @ 2023-11-13 16:38 FBshark 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 原文链接: https://zhuanlan.zhihu.com/p/527434096?utm_id=0 GAP简介 通用访问配置文件(GAP)规定了设备在较低级别如何执行控制程序,如设备发现、连接、安全建立等,以确保互操作性,并允许来自不同供应商设备之间的通信。主要的操作有: 发现并与配对 广播 阅读全文
posted @ 2023-11-12 22:33 FBshark 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 前言: 企业中产品手册少不了图片的插入,那如果用markdown维护手册的话,怎么插入图片呢?今天介绍以下几种方法: (一)插入本地图片 (二)插入网络图片 (一)插入本地图片 只需要在基础语法的括号中填入图片的位置路径即可,支持绝对路径和相对路径。 例如: ![图片](D:/xxx/md/1.pn 阅读全文
posted @ 2023-11-12 10:15 FBshark 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 转载自:https://blog.csdn.net/AQRSXIAO/article/details/133680606 STM32使用printf()必须勾选use_microlib 阅读全文
posted @ 2023-11-08 22:06 FBshark 阅读(847) 评论(0) 推荐(0) 编辑
摘要: cout 有缓存区,因此在一些情况下,并不会主动显示出来。 在这种情况下,可使用额外的 “刷新” 功能(<<flush)来确保根据我们的要求显示输出。 // C++程序演示flush函数的使用 #include <iostream> #include <thread> #include <chron 阅读全文
posted @ 2023-11-08 16:25 FBshark 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 一、string类的 getline()函数(全局函数) 使用时需要添加头文件:#include <string> getline(cin,str)函数是处理string类的函数。第二个参数为string类型的变量。读入时第二个参数为string类型,而不是char*,要注意区别 getline() 阅读全文
posted @ 2023-11-07 20:52 FBshark 阅读(304) 评论(0) 推荐(0) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 31 下一页