colin工作室
坚韧、向上、善于思考
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于STM32、HAL库的TL16C752DPFBRQ1总线转UART驱动程序设计
/ A0地址线端口。// A0地址线引脚。// A1地址线端口。// A1地址线引脚。SPI_SCK <---> /RD & /WR (通过逻辑门组合)原创 2025-07-24 10:21:52 · 28 阅读 · 0 评论 -
基于STM32、HAL库的SC16C2550BIB48,151总线转UART驱动程序设计
define SC16C2550_DLL 0x00 // 分频锁存器LSB(当LCR[7]=1)#define SC16C2550_DLM 0x01 // 分频锁存器MSB(当LCR[7]=1)// 校验位(0:无,1:奇,2:偶)#define SC16C2550_RHR 0x00 // 接收保持寄存器(读)#define SC16C2550_THR 0x00 // 发送保持寄存器(写)#define SC16C2550_IIR 0x02 // 中断标识寄存器(读)// 数据位(5-8)原创 2025-07-24 10:15:46 · 36 阅读 · 0 评论 -
基于STM32、HAL库的SC18IM700IPW/S8HP总线转UART驱动程序设计
SC18IM700IPW/S8HP是一款I²C/SPI总线转UART的桥接芯片,由NXP公司生产。// HAL库需要左移一位。#define SC18IM700_I2C_ADDRESS 0x28 // 默认I2C地址。// 假设I2C1已初始化。// 配置UART: 115200, 8N1。// 硬件复位(如果复位引脚已连接)// 限制读取大小为请求的大小。// 初始化SC18IM700。// 处理接收到的数据...// 读取可用字节数。原创 2025-07-24 10:10:43 · 28 阅读 · 0 评论 -
基于STM32、HAL库的TL16C2550IPFBR 总线转UART驱动程序设计
/ 启用FIFO并设置触发级别。原创 2025-07-24 10:08:24 · 18 阅读 · 0 评论 -
基于STM32、HAL库的MAX3107ETG+T总线转UART驱动程序设计
define MAX3107_RHR_REG 0x00 // 接收保持寄存器。#define MAX3107_THR_REG 0x00 // 发送保持寄存器。#define MAX3107_IRQEN_REG 0x01 // 中断使能寄存器。#define MAX3107_ISR_REG 0x02 // 中断状态寄存器。#define MAX3107_CLKSRC_REG 0x07 // 时钟源寄存器。// 处理接收到的数据...原创 2025-07-24 10:03:18 · 21 阅读 · 0 评论 -
基于STM32、HAL库的MAX3100EEE+T总线转UART驱动程序设计
define MAX3100_TXFIFOLVL (0x0E << 1) // TX FIFO水平(只读)#define MAX3100_RXFIFOLVL (0x0F << 1) // RX FIFO水平(只读)#define MAX3100_RHR (0x00 << 1) // 接收保持寄存器(只读)#define MAX3100_ISR (0x02 << 1) // 中断状态寄存器(只读)// 使能XON/XOFF。// 使能RTS和CTS。原创 2025-07-24 09:58:52 · 30 阅读 · 0 评论 -
基于STM32、HAL库的CH9434M总线转UART驱动程序设计
CH9434M是一款由南京沁恒微电子(WCH)推出的4通道UART扩展芯片,可通过SPI/I2C/并口总线扩展出4个全双工UART接口。GPIOB, GPIO_PIN_0, // INT (可选)GPIOB, GPIO_PIN_1, // RST (可选)每个UART通道支持5/6/7/8位数据位,1/2位停止位,奇/偶/无校验。// 设置波特率 (简化版,实际应根据波特率计算寄存器值)// 选择要写入的UART通道的发送FIFO寄存器。// 选择要读取的UART通道的接收FIFO寄存器。原创 2025-07-24 09:54:21 · 45 阅读 · 0 评论 -
基于STM32、HAL库的TL16C752DPFBR总线转UART驱动程序设计
define TL16C752_REG_TCR 0x06 // 传输控制寄存器(LCR[7]=1)#define TL16C752_REG_TLR 0x07 // 触发级别寄存器(LCR[7]=1)#define TL16C752_REG_FCR 0x02 // FIFO控制寄存器(写)#define TL16C752_REG_RHR 0x00 // 接收保持寄存器(读)#define TL16C752_REG_THR 0x00 // 发送保持寄存器(写)原创 2025-07-24 09:50:52 · 34 阅读 · 0 评论 -
基于STM32、HAL库的TL16C550CIFN总线转UART驱动程序设计
define FCR_RX_FIFO_RESET (1 << 1) // 接收FIFO复位。#define FCR_TX_FIFO_RESET (1 << 2) // 发送FIFO复位。#define LSR_RX_FIFO_ERR (1 << 7) // FIFO中有错误。#define FCR_DMA_MODE_SELECT (1 << 3) // DMA模式选择。#define LCR_STOP_BIT_1 (0 << 2) // 1位停止位。原创 2025-07-24 09:47:40 · 22 阅读 · 0 评论 -
基于STM32、HAL库的MAX3109ETJ+总线转UART驱动程序设计
if(MAX3109_UART_GetStatus(&hmax3109, 0) & 0x01) { // 检查接收数据可用。* @param parity: 校验位(0:无,1:奇,2:偶)* @param uart_num: UART编号(0-3)* @param uart_num: UART编号(0-3)* @param uart_num: UART编号(0-3)* @param uart_num: UART编号(0-3)* @param stopbits: 停止位(1-2)原创 2025-07-23 09:53:20 · 24 阅读 · 0 评论 -
基于STM32、HAL库的MAX3107ETG+总线转UART驱动程序设计
/ 写入命令 (最高位为1)// 读取命令 (最高位为0)// 检查数据就绪位。// 配置线路控制寄存器 (8位数据,无校验,1停止位)支持SPI(最高10MHz)和I2C(最高400kHz)接口。PA5 (SCK) <---> SCLK (SPI时钟)PA8 <---> /RST (复位)PC13 <---> /IRQ (中断)PB0 (CS) <---> /CS (片选)// 接收数据 (回显)// 初始化MAX3107。// 初始化GPIO。原创 2025-07-23 09:48:59 · 20 阅读 · 0 评论 -
基于STM32、HAL库的ST16C550IQ48-F总线转UART驱动程序设计
define LCR_STB_2 0x04 // 2位停止位(字长为5时为1.5位)// 回显接收到的数据。#define FCR_RX_TRIG_14 0xC0 // 接收触发级别14字节。#define FCR_RX_TRIG_1 0x00 // 接收触发级别1字节。#define FCR_RX_TRIG_4 0x40 // 接收触发级别4字节。#define FCR_RX_TRIG_8 0x80 // 接收触发级别8字节。原创 2025-07-23 09:46:05 · 15 阅读 · 0 评论 -
基于STM32、HAL库的TL16C2550RHBR总线转UART驱动程序设计
define TL16C2550_DLL 0x00 // 除数锁存低字节(DLAB=1)#define TL16C2550_FCR 0x02 // FIFO控制寄存器(写)#define TL16C2550_RHR 0x00 // 接收保持寄存器(读)#define TL16C2550_THR 0x00 // 发送保持寄存器(写)#define TL16C2550_LCR 0x03 // 线路控制寄存器。原创 2025-07-23 09:41:57 · 20 阅读 · 0 评论 -
基于STM32、HAL库的FT260S-R总线转UART驱动程序设计
/ STM32 HAL UART句柄。TXD <--> USARTx_RX (STM32接收)RTS# (可选) <--> USARTx_CTS (硬件流控)CTS# (可选) <--> USARTx_RTS (硬件流控)// 初始化失败处理。// 初始化FT260驱动。// 启动UART接收。原创 2025-07-23 09:38:28 · 24 阅读 · 0 评论 -
基于STM32、HAL库的TL16C550CIPTR总线转UART驱动程序设计
define TL16C550_DLL 0x00 // 除数锁存低字节(当DLAB=1)#define TL16C550_FCR 0x02 // FIFO控制寄存器(写)#define TL16C550_RHR 0x00 // 接收保持寄存器(读)#define TL16C550_THR 0x00 // 发送保持寄存器(写)#define TL16C550_IIR 0x02 // 中断识别寄存器(读)原创 2025-07-23 09:34:55 · 130 阅读 · 0 评论 -
基于STM32、HAL库的SC16IS740IPW/Q900总线转UART驱动程序设计
define SC16IS740_I2C_ADDR (0x48 << 1) // 默认I2C地址(可配置)// 分频器 = (晶振频率) / (波特率 * 16 * prescaler)(lsr & 0x01)) // DR位为0表示没有数据。* @param parity: 校验位 (0:无, 1:奇, 2:偶)* @param data_bits: 数据位 (5-8)* @param stop_bits: 停止位 (1或2)* @param hsc: SC16IS740句柄。原创 2025-07-23 09:31:58 · 25 阅读 · 0 评论 -
基于STM32、HAL库的CH9434A总线转UART驱动程序设计
* 构造发送数据包: 命令(0x80 | uart_num) + 长度(2字节) + 数据 *//* 构造读取命令: 0xC0 | uart_num *//* 配置UART1: 115200 8N1 *//* 写入对应UART的控制寄存器 */// 处理接收到的数据。GPIO INT中断引脚。支持5/6/7/8位数据位,1/2位停止位。/* CH9434A寄存器地址定义 *//* 初始化CH9434A *//* 配置全局控制寄存器 *//* 检查中断并读取数据 */原创 2025-07-23 09:28:38 · 42 阅读 · 0 评论 -
基于STM32、HAL库的MAX14830ETM+T总线转UART驱动程序设计
支持SPI(最高26MHz)和I2C(最高3.4MHz)接口。PA6(MISO) <---> SDO (SPI数据输出)PA7(MOSI) <---> SDI (SPI数据输入)PA8 <---> INT (中断输出,可选)PB0(NSS) <---> CS (片选,低有效)PA5(SCK) <---> SCLK (SPI时钟)// 处理具体UART中断。// 接收数据(如果有)// ... 配置LCR寄存器。// 处理各个UART的中断。// 初始化MAX14830。原创 2025-07-23 09:25:28 · 16 阅读 · 0 评论 -
基于STM32、HAL库的SC16IS752IPW,128总线转UART驱动程序设计
/ 设置寄存器地址 (bit7: 读操作, bit6-4: 通道选择, bit3-0: 寄存器地址)// 设置寄存器地址 (bit7: 写操作, bit6-4: 通道选择, bit3-0: 寄存器地址)原创 2025-07-23 09:22:43 · 32 阅读 · 0 评论 -
基于STM32、HAL库的MAX3107总线转UART驱动程序设计
一、简介:MAX3107是一款SPI接口的UART扩展芯片,具有以下特点:提供额外的UART串口通道支持最高3Mbps的波特率内置128字节的接收和发送FIFO可编程的硬件流控制(CTS/RTS)支持IrDA SIR低功耗设计,适合电池供电应用工作电压范围:1.8V至3.6V二、硬件接口:STM32L4XX <---> MAX3107PA5(SCK) <---> SCLKPA6(MISO) <---> DOUTPA7(MOSI) <---> DIN原创 2025-04-14 13:55:03 · 59 阅读 · 0 评论 -
基于STM32、HAL库的MAX3109ETJ总线转UART驱动程序设计
define MAX3109_TXFIFOLVL_REG 0x0C // TX FIFO电平寄存器(只读)#define MAX3109_RXFIFOLVL_REG 0x0D // RX FIFO电平寄存器(只读)#define MAX3109_RHR_REG 0x00 // 接收保持寄存器(只读)#define MAX3109_ISR_REG 0x02 // 中断状态寄存器(只读)#define MAX3109_FIFO_REG 0x08 // FIFO控制寄存器。原创 2025-04-14 13:43:01 · 60 阅读 · 0 评论 -
基于STM32、HAL库的SC16IS741AIPWJ总线转UART驱动程序设计
define SC16IS741_LCR_SFE (1 << 7) // 特殊功能使能(当LCR=0xBF)// 最高位为0表示读操作。#define SC16IS741_FCR_RX_FIFO_RST (1 << 1) // 接收FIFO复位。#define SC16IS741_FCR_TX_FIFO_RST (1 << 2) // 发送FIFO复位。#define SC16IS741_FCR_FIFO_EN (1 << 0) // FIFO使能。原创 2025-04-14 13:32:45 · 47 阅读 · 0 评论 -
基于STM32、HAL库的FT260S总线转UART驱动程序设计
define FT260_I2C_ADDRESS 0x40 // FT260默认I2C地址。* @param address: FT260的I2C地址。* @param devAddr: 目标设备地址。* @param devAddr: 目标设备地址。* @param hft: FT260句柄。* @param hft: FT260句柄。* @param hft: FT260句柄。* @param hft: FT260句柄。* @param hft: FT260句柄。原创 2025-04-14 13:26:39 · 55 阅读 · 0 评论 -
基于STM32、HAL库的SC16IS740IPW总线转UART驱动程序设计
/ SC16IS740 SPI格式: 最高位为1表示写, 接下来7位是寄存器地址。// SC16IS740 SPI格式: 最高位为0表示读, 接下来7位是寄存器地址。// 计算分频值 (假设预分频器为1, XTAL1=1.8432MHz)<---> /RESET (可连接到 GPIO)// 设置线路控制: 8位数据, 无校验, 1位停止位。// 处理接收到的数据...// 接收数据(如果有)// 初始化SC16IS740。// 等待THR为空。// 启用接收中断(可选)// SPI1引脚配置。原创 2025-04-14 13:23:30 · 210 阅读 · 0 评论 -
基于STM32、HAL库的CH438L总线转UART驱动程序设计
/ RHR寄存器,读命令最高位置1。// 检查数据就绪位。// 配置波特率 (简化版,实际应根据波特率计算分频值)支持5/6/7/8位数据位,1/2位停止位。// 其他波特率...// 初始化CH438L。// 初始化全局寄存器。// 写入LCR寄存器。原创 2025-04-14 13:20:28 · 502 阅读 · 0 评论 -
基于STM32、HAL库的MAX3100总线转UART驱动程序设计
define MAX3100_LCR (0x06 << 5) // 线路控制寄存器。原创 2025-04-14 13:17:30 · 363 阅读 · 0 评论 -
基于STM32、HAL库的SC16IS750IBS 总线转UART驱动程序设计
@param gpio_mask: GPIO 方向掩码 (1=输出, 0=输入)* @param parity: 校验位 (0:无,1:奇,2:偶)* @param data_bits: 数据位 (5,6,7,8)// 默认 UART 配置: 8数据位, 无校验, 1停止位。* @param stop_bits: 停止位 (1,2)// 配置 UART: 8数据位, 无校验, 1停止位。// 设置 LCR 的特殊模式以访问 DLL/DLH。// 波特率 = 输入时钟 / (16 * 分频器)原创 2025-04-14 13:13:48 · 168 阅读 · 0 评论 -
基于STM32、HAL库的SC18IM704PWJ总线转UART驱动程序设计
define SC18IM704_I2C_ADDRESS 0x28 << 1 // 默认I2C地址(7位地址左移1位)* @param parity: 校验位(0:无,1:奇,2:偶)* @param uart_num: UART编号(1-4)* @param uart_num: UART编号(1-4)* @param uart_num: UART编号(1-4)* @param data_bits: 数据位(7或8)* @param stop_bits: 停止位(1或2)原创 2025-04-14 13:09:52 · 277 阅读 · 0 评论 -
基于STM32、HAL库的MAX14830总线转UART驱动程序设计
0x14) { // MAX14830的版本号应为0x14。* @param stop_bits: 停止位(1:1位,2:2位)* @param parity: 校验位(0:无,1:奇,2:偶)* @param uart_num: UART编号(0-3)* @param uart_num: UART编号(0-3)* @param uart_num: UART编号(0-3)原创 2025-04-14 13:06:51 · 205 阅读 · 0 评论 -
基于STM32、HAL库的CH9434总线转UART驱动程序设计
CH9434是一款USB转4串口控制芯片,可以将单个USB接口扩展为4个独立的串口(UART)。支持多种数据格式(数据位5-8,停止位1/1.5/2,奇偶校验或无校验)// 读取接收到的数据。// 重新启动接收中断。// 向所有4个串口发送数据。// UART初始化函数示例(USART1)// 其他UART初始化函数类似...// 初始化CH9434。// 初始化UART1。// 初始化UART2。// 初始化UART3。// 初始化UART4。工作电压:3.3V/5V兼容。原创 2025-04-14 13:02:53 · 665 阅读 · 0 评论 -
基于STM32、HAL库的SC16IS752IPW总线转UART驱动程序设计
/ FIFO空间不足。// 设置LCR寄存器的DLAB位为1以访问DLL/DLH。// 设置LCR寄存器,先访问DLL/DLH。// 设置LCR寄存器(不包含DLAB位)原创 2025-04-14 13:00:10 · 556 阅读 · 0 评论