- 博客(216)
- 资源 (45)
- 收藏
- 关注
原创 Electron使用WebAssembly实现CRC-16 MODBUS校验
本文介绍了在Electron环境中使用WebAssembly实现CRC-16 MODBUS校验的方法。通过将C语言实现的CRC校验函数编译为WebAssembly模块,然后在Electron应用中调用。文章详细说明了WebAssembly模块的编译过程、内存管理函数的使用方法,以及如何在Electron中加载和调用这些函数。最后通过实际演示验证了校验结果的正确性,并提供了包含WebAssembly库文件的完整Electron工程下载。该方法实现了C/C++高性能计算代码在JavaScript环境中的复用,为
2025-11-17 09:02:21
933
原创 Electron使用WebAssembly实现CRC-16 DNP校验
本文介绍了在Electron环境中使用WebAssembly调用CRC-16 DNP校验函数的方法。通过将C语言实现的校验函数编译为WebAssembly模块,在Electron应用中引入并调用,实现了对1-8字节数据的CRC校验。文章详细说明了从C源码编译到Electron集成的完整流程,包括内存管理、函数调用等关键步骤,并提供了验证结果和演示工程下载。该方法展示了WebAssembly在Electron应用中的实际应用。
2025-11-03 09:02:21
826
原创 STM32配置读取激光测距传感器VL6180X距离数据
本文介绍了使用STM32芯片读取VL6180X激光测距传感器数据的实现方法。VL6180X是一款基于TOF原理的近距离测距传感器,有效测量范围0-100mm。文章详细说明了硬件连接方式,采用I2C通信协议,STM32通过GPIO模拟I2C时序与传感器交互。重点讲解了在STM32CubeIDE开发环境下的工程配置步骤,包括时钟设置、UART串口配置和GPIO初始化。最后提供了主程序代码框架,包含微秒级延时函数实现和I2C通信协议模拟,为快速实现VL6180X测距功能提供了完整参考方案。
2025-10-20 09:16:08
761
原创 Electron使用WebAssembly实现CRC-16 USB校验
本文介绍了在Electron环境中使用WebAssembly调用CRC-16 USB校验函数的方法。通过将C语言实现的CRC校验函数编译为WebAssembly模块,并在Electron应用中引入该模块,实现了对8字节数据(1-8)的CRC-16 USB校验。结果显示校验值为12367(0x304F),与在线工具验证结果一致。文章提供了完整的实现步骤和工程下载链接,展示了C/C++、WebAssembly和Electron技术的结合应用。
2025-10-13 08:16:37
664
原创 Electron使用WebAssembly实现CRC-16 CCITT-FALSE校验
这篇文章介绍了在Electron环境中使用WebAssembly实现CRC-16 CCITT-FALSE校验的方法。主要内容包括:1) 将C语言实现的CRC校验函数编译为WebAssembly库;2) 在Electron工程中引入WebAssembly模块;3) 通过内存操作和函数调用实现校验功能。文章提供了完整的代码示例,包括C语言源文件、Electron工程配置和JavaScript调用方式,并通过实际运行结果验证了校验的正确性。还提供了完整的演示工程下载链接,便于读者直接使用。
2025-09-22 09:30:08
740
原创 Electron使用WebAssembly实现CRC-16 CCITT校验
本文介绍了在Electron环境下使用WebAssembly调用CRC-16 CCITT校验函数的方法。首先通过C语言实现校验功能并编译为WebAssembly库文件,包含内存管理函数和校验函数。然后基于Electron Quick Start工程,将WebAssembly文件集成到项目中,通过JavaScript调用这些函数进行校验计算。文章详细说明了内存申请、数据赋值和函数调用的过程,并验证了计算结果与在线工具的一致性。最后提供了完整的演示工程下载链接,包含已编译的WebAssembly库文件。这种方法
2025-09-01 08:53:47
1068
原创 Electron使用WebAssembly实现CRC-16 IBM校验
本文介绍了在Electron环境中使用WebAssembly调用CRC-16 IBM校验函数的方法。通过将C语言实现的CRC-16 IBM校验函数编译为WebAssembly模块,在Electron工程中导入并使用。演示了如何申请内存、赋值、调用校验函数并释放内存,最终得到正确校验结果0xC4F0。文章提供了完整的工程文件下载,包含已编译的WebAssembly库文件,方便读者直接参考使用。
2025-08-04 11:55:59
896
原创 Electron使用WebAssembly实现CRC-16 原理校验
本文介绍了在Electron环境中使用WebAssembly调用CRC-16校验函数的实现方法。主要内容包括:1)将C语言实现的CRC-16校验函数编译为WebAssembly模块;2)在Electron工程中引入WebAssembly模块;3)通过JavaScript调用WebAssembly导出的内存管理和CRC计算函数。演示了如何申请内存、赋值、调用CRC校验并释放内存的过程,最终成功输出了数组[1,2,3,4,5,6,7,8]的CRC-16校验结果0xCD8E。文章提供了完整的实现代码和可下载的演示
2025-07-21 09:12:51
786
原创 STM32模拟I2C获取AP3216C光学接近传感器数据
摘要:本文介绍了使用STM32F401CCU6通过模拟I2C接口控制AP3216C光学传感器的实现方法。AP3216C是一款三合一传感器,集成环境光(ALS)、接近检测(PS)和红外LED功能。文章详细说明了STM32工程配置步骤,包括GPIO设置和USB串口初始化,并提供了完整的模拟I2C协议代码实现。通过定义DMODE参数可选择单独检测环境白光、红外光或接近反射光。工程代码展示了传感器数据读取方法,适用于灰度检测、循迹等应用场景,具有体积小、成本低的优势。
2025-07-02 13:01:46
1126
原创 Electron使用WebAssembly实现CRC-8 原理校验
本文介绍了在Electron环境中使用WebAssembly调用CRC-8校验函数的实现方法。首先通过C语言编写CRC-8校验函数并将其编译为WebAssembly模块,然后将生成的库文件集成到Electron项目中。文中详细展示了如何在Electron中申请内存空间、赋值数据并通过WebAssembly接口调用CRC-8校验函数的过程,同时提供了校验结果的验证方法。最后还给出了完整的演示工程下载链接,包含已编译好的WebAssembly库文件。该方案实现了在JavaScript环境中高效调用C/C++编写
2025-06-16 09:48:55
903
原创 Electron使用WebAssembly实现CRC-8 ROHC校验
本文介绍了在Electron环境中使用WebAssembly调用CRC-8 ROHC校验函数的方法。主要内容包括:将C语言实现的CRC校验函数编译为WebAssembly模块,建立Electron演示工程,通过JavaScript调用WebAssembly模块进行校验计算,并与在线工具验证结果一致。文章提供了完整的源代码和演示工程下载,实现了在Electron框架下高效运行C语言编译的WebAssembly校验算法。
2025-06-03 09:47:03
691
原创 Electron使用WebAssembly实现CRC-8 ITU校验
本文介绍了如何在Electron环境中使用WebAssembly实现CRC-8 ITU校验。首先,通过C语言编写CRC-8 ITU校验函数,并将其编译为WebAssembly库文件。接着,在Electron工程中引入这些库文件,并通过JavaScript调用WebAssembly函数进行校验。文章详细展示了从C语言代码编译到WebAssembly,再到Electron中调用的完整流程,并提供了示例代码和工程下载链接,帮助开发者快速实现类似功能。最终,通过控制台输出和在线工具验证了校验结果的正确性。
2025-05-19 08:56:36
1078
原创 Electron使用WebAssembly实现CRC-32 MPEG-2校验
将C/C++语言代码,经由WebAssembly编译为库函数,可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-32 MPEG-2格式校验的方式。
2025-05-06 09:50:50
907
原创 Electron使用WebAssembly实现CRC-32 原理校验
将C/C++语言代码,经由WebAssembly编译为库函数,可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-32 原理格式校验的方式。
2025-04-22 13:39:37
1051
原创 Electron使用WebAssembly实现CRC-32 STM32校验
将C/C++语言代码,经由WebAssembly编译为库函数,可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-32 STM32格式校验的方式。
2025-04-07 10:21:32
1113
原创 Electron使用WebAssembly实现CRC-16 MAXIM校验
将C/C++语言代码,经由WebAssembly编译为库函数,可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-16 MAXIM格式校验的方式。
2025-03-17 09:45:09
1029
原创 Electron使用WebAssembly实现CRC-32 常用标准校验
将C/C++语言代码,经由WebAssembly编译为库函数,可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-32 常用标准格式校验的方式。
2025-03-10 09:17:27
1271
原创 STM32CUBEIDE FreeRTOS操作教程(十三):task api 任务访问函数
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(十三)配置FreeRTOS及相关环境,采用task api 任务访问函数获取任务状态参数,通过USB虚拟串口接收指令,根据指令执行相关的任务访问函数,并通过USB虚拟串口返回结果。
2025-02-24 08:56:08
1464
原创 Electron使用WebAssembly实现CRC-8 MAXIM校验
将C/C++语言代码,经由WebAssembly编译为库函数,可以在JS语言环境进行调用。这里介绍在Electron工具环境使用WebAssembly调用CRC-8 MAXIM格式校验的方式。
2025-02-01 13:09:14
1243
原创 STM32CUBEIDE FreeRTOS操作教程(十二):std dynamic memory 标准动态内存
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。
2025-01-02 08:40:58
1175
原创 STM32CUBEIDE FreeRTOS操作教程(十一):system dynamic memory 系统动态内存
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。
2024-12-16 09:46:46
839
原创 STM32CUBEIDE FreeRTOS操作教程(十):interrupt on/off中断开关
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(十)配置FreeRTOS及相关环境,通过软件定时器的中断响应,对LED管脚的输出翻转,实现LED的闪灯,又通过任务里实现的中断的开关,控制LED的一段时间常亮,和一段时间的闪灯。这里也在任务里用到了****。
2024-12-02 10:32:34
871
原创 STM32CUBEIDE FreeRTOS操作教程(九):eventgroup事件标志组
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(九)配置FreeRTOS及相关环境,实现LED闪灯功能及基于eventgroup事件标志组的USB虚拟串口发收环回。
2024-11-18 14:18:46
1401
原创 STM32CUBEIDE FreeRTOS操作教程(八):queues多队列
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(八)配置FreeRTOS及相关环境,实现LED闪灯功能及基于queue多队列的USB虚拟串口收发环回。
2024-11-04 09:54:36
1285
原创 STM32CUBEIDE FreeRTOS操作教程(七):queue队列
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(七)配置FreeRTOS及相关环境,实现LED闪灯功能及基于的USB虚拟串口收发环回。从电脑端连接USB虚拟串口后,发送出去的串口数据会从STM32返回。FreeRTOS的教程较多,推荐参考正点原子所出的。
2024-10-21 14:09:00
1544
原创 STM32CUBEIDE FreeRTOS操作教程(六):recursive mutexes递归互斥信号量
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(六)配置FreeRTOS及相关环境,实现LED闪灯功能及基于recursive mutex递归互斥信号量的USB虚拟串口双任务打印输出。
2024-10-08 11:25:21
1092
原创 STM32CUBEIDE FreeRTOS操作教程(五):mutex互斥信号量
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(五)配置FreeRTOS及相关环境,实现LED闪灯功能及基于mutex互斥信号量的USB虚拟串口双任务打印输出。两个任务轮流获取和释放互斥信号量,在得到信号量时向外打印输出。
2024-09-23 09:20:04
1705
原创 STM32CUBEIDE FreeRTOS操作教程(四):timer软件定时器
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(四)配置FreeRTOS及相关环境,实现LED闪灯功能及基于timer软件定时器的USB虚拟串口环回。从电脑端连接USB虚拟串口后,发送出去的串口数据会从STM32返回。
2024-09-02 09:11:05
2158
原创 STM32CUBEIDE FreeRTOS操作教程(三):semaphore counting计数型信号量
STM32CUBE开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(三)配置FreeRTOS及相关环境,实现LED闪灯功能及基于semaphore counting计数型信号量的USB虚拟串口环回。从电脑端连接USB虚拟串口后,发送出去的串口数据会从STM32返回。
2024-08-19 14:08:30
1104
原创 STM32CUBEIDE FreeRTOS操作教程(二):semaphore信号量
STM32CUBEIDE(不是STM32CUBEMX)开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(二)配置FreeRTOS及相关环境,实现LED闪灯功能及基于semaphore信号量的USB虚拟串口环回。从电脑端连接USB虚拟串口后,发送出去的串口数据会从STM32返回。
2024-08-12 10:35:02
1269
原创 STM32存储左右互搏 QSPI总线读写64 Mbit容量SRAM VTI7064
QSPI(Quad-SPI)设备有两种常见操作模式,一种QSPI设备上电后直接进入QSPI模式,操作时命令,地址和数据都是多线传输。另一种QSPI设备上电后进入常规SPI操作模式,可以通过发送SPI指令,切换设备进入QSPI模式,之后也可以发送QSPI指令切换回SPI模式,故这种设备可以工作在数据率较低的SPI模式,也可工作在数据率更高的QSPI模式。
2024-07-23 11:01:33
2975
2
原创 STM32CUBEIDE FreeRTOS操作教程(一):LED闪灯
STM32CUBEIDE(不是STM32CUBEMX)开发环境集成了STM32 HAL库进行FreeRTOS配置和开发的组件,不需要用户自己进行FreeRTOS的移植。这里介绍最简化的用户操作类应用教程。以STM32F401RCT6开发板为例,只用到USB,USART1极少的接口,体现FreeRTOS的各种操作过程。操作教程(一)配置FreeRTOS及相关环境,实现LED闪灯功能。FreeRTOS的教程较多,推荐参考正点原子所出的了解相关知识。
2024-07-23 10:53:53
3006
1
原创 STM32存储左右互搏 模拟U盘桥接QSPI总线FATS读写FLASH W25QXX
W25QXX的SOIC封装如下所示,在采用QUAL SPI而不是SPI时,管脚定义为:即由片选(/CS), 时钟(CLK), 双向4根输入输出线(IO0, IO1, IO2, IO3)组成6线QSPI信号接口。VCC和GND提供电源和接地连接。例程采用STM32H750VBT6芯片, FLASH可以选择为8/16/32/64/128/256/512/1024 Mbit的W25Q型号。
2024-06-26 10:04:31
1895
原创 STM32存储左右互搏 模拟U盘桥接SPI总线FATS读写FLASH W25QXX
W25QXX的SOIC封装如下所示,在采用SPI而不是QUAL SPI时,管脚定义为:即由片选(/CS), 时钟(CLK), 数据输出(DO)和数据输入(DI)的组成4线SPI信号接口。VCC和GND提供电源和接地连接。例程采用STM32H750VBT6芯片, FLASH可以选择为8/16/32/64/128/256/512/1024 Mbit的W25Q型号。例程实现可以通过U盘形式和串口控制双方式对FLASH内的文件进行操作,实现可交换操作的特性。
2024-06-12 09:56:59
1716
原创 STM32 UART串口数据接收策略
串口是常见的数据通讯接口,需要在不同的应用场景下选择特定的数据接收模式,才能可靠的接收和处理数据。这里介绍常用简化串口即只有TX/RX连接的串口通讯接收策略。
2024-05-27 09:42:11
2303
原创 STM32存储左右互搏 USB接口FATS文件读写U盘
常见的USB接口电路部分相似而有不同的连接器应用,连接器有USB-A, USB-MINI, USB-MICRO, USB-TYPEC等。除了USB-A可以直接插入U盘,其它连接器可以通过转接板和转接线和U盘连接。如果用USB-TYPEC公头的U盘,则可以直接插入USB-TYPEC母座的主机。常见USB-TYPEC接口电路如下:去繁化简,主要是5V电源输入,接地,差分信号+ (DP), 差分信号- (DN)4个有效连接。对于STM32, DP连接到了PA12管脚, DN连接到了PA11管脚.
2024-05-13 09:59:36
4333
原创 STM32存储左右互搏 SDIO总线FATS文件读写SD/MicroSD/TF卡
SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协议操作则是一样。这里介绍STM32CUBEIDE开发平台HAL库SDIO总线FATS文件操作读写SD/MicroSD/TF卡的例程。
2024-04-22 10:11:00
2240
原创 STM32存储左右互搏 SDIO总线读写SD/MicroSD/TF卡
SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协议操作则是一样。这里介绍STM32CUBEIDE开发平台HAL库SDIO总线操作SD/MicroSD/TF卡的例程。
2024-04-08 09:56:07
2426
原创 STM32存储左右互搏 SPI总线FATS文件读写SD/MicroSD/TF卡
SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协议操作则是一样。这里介绍STM32CUBEIDE开发平台HAL库SPI总线FATS文件操作读写SD/MicroSD/TF卡的例程。
2024-03-25 09:48:33
2281
3
原创 STM32存储左右互搏 SPI总线读写SD/MicroSD/TF卡
SD/MicroSD/TF卡是基于FLASH的一种常见非易失存储单元,由接口协议电路和FLASH构成。市面上由不同尺寸和不同容量的卡,手机领域用的TF卡实际就是MicroSD卡,尺寸比SD卡小,而电路和协议操作则是一样。这里介绍STM32CUBEIDE开发平台HAL库SPI总线操作SD/MicroSD/TF卡的例程。
2024-03-11 09:47:29
4147
1
STM32F401RCT6-RTOS-EXAMPLE12.rar
2025-01-02
STM32F401RCT6-RTOS-EXAMPLE11.rar
2024-12-16
STM32F401RCT6-RTOS-EXAMPLE10.rar
2024-12-02
STM32F401RCT6-RTOS-EXAMPLE9.rar
2024-11-18
STM32F401RCT6-RTOS-EXAMPLE8.rar
2024-11-04
STM32F401RCT6-RTOS-EXAMPLE7.rar
2024-10-21
STM32F401RCT6-RTOS-EXAMPLE6.rar
2024-10-08
STM32F401RCT6-RTOS-EXAMPLE5.rar
2024-09-23
STM32F401RCT6-RTOS-EXAMPLE4.rar
2024-09-02
STM32F401RCT6-RTOS-EXAMPLE3.rar
2024-08-19
STM32F401RCT6-RTOS-EXAMPLE2.rar
2024-08-12
STM32H743VIT6-QSPI-SRAM-VTI7064.rar
2024-07-23
STM32F401RCT6-RTOS-EXAMPLE1.rar
2024-07-23
STM32H750VBT6-UDISK-FOR-QSPI-W25QXX-FATS.rar
2024-06-26
STM32H750VBT6-UDISK-FOR-SPI-W25QXX-FATS.rar
2024-06-12
STM32F401CCU6-UDISK-FATS.rar
2024-05-13
STM32F103VET6-SDIO-SDCARD-FATS.rar
2024-04-22
STM32F401RCT6-SDIO-SDCARD-FATS.rar
2024-04-22
STM32F103VET6-SDIO-SDCARD.rar
2024-04-08
STM32F401CCU6-SPI-SDCARD-FATS.rar
2024-03-25
CRC16-MODBUS.rar
2025-11-17
CRC16-DNP.rar
2025-11-03
STM32G030F6P6-VL6180X.rar
2025-10-20
CRC16-USB.rar
2025-10-13
CRC16-CCITT-FALSE.rar
2025-09-22
CRC16-CCITT.rar
2025-09-01
CRC16-IBM.rar
2025-08-04
CRC16-STD.rar
2025-07-21
STM32F401CCU6-RTT-AP3216.rar
2025-07-02
STM32F401CCU6-AP3216.rar
2025-07-02
CRC8-STD.rar
2025-06-16
CRC8-ROHC.rar
2025-06-03
CRC8-ITU.rar
2025-05-19
CRC32-MPEG-2.rar
2025-05-06
CRC32-STD.rar
2025-04-22
CRC32-STM32.rar
2025-04-07
CRC32_STD_USED.rar
2025-03-10
CRC16_MAXIM.rar
2025-03-17
STM32F401RCT6-RTOS-EXAMPLE13.rar
2025-02-24
CRC8-MAXIM.rar
2025-02-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅