问答

汇集网友智慧,解决技术难题

21ic问答首页 - TAG - 通讯
  • 请教4G通讯(模块为EC20)如何降低掉线率?

    [i=s] 本帖最后由 Wxy8030 于 2024-4-11 10:28 编辑 [/i] 电信卡,TCP长连接方式、心跳包为40S一次,实际应用中某些信号稍微不好的点掉线率高得离谱(能高到每小时掉一次),为降低掉线率试过将心跳包提升到8S一次、整体有效果但某不固定时段还是很高,有做过这些的兄弟指点一下么? 目前已得出的几点结论: 1、优化信号确实是可行的,但限制于实际安装条件(在电柜里)优化空间有限; 2、在办公室(某软件园区)测试时、信号不好(拆掉天线)却依旧能保持极低掉线率,在现场信号略好却也不行; 3、目标是平均一天掉线不超过一次;

    信号 EC20 模块 通讯 掉线 4G

    6476浏览量 12回复量 关注量
  • 关于GD32F103 uart sos

    [font=Tahoma][font=Tahoma][size=10.5pt]我用[/size][/font][/font][font=Tahoma][size=10.5pt]GD32F103 做串口通讯,USART0、USART1、USART2都能正常工作,用同样的初始化程序,UART3、UART4 无法通讯。[/size][/font][align=left]用示波器监视数据线,发现电压值不正确,有知道问题出在哪里的吗?[/align]

    gd32F103 UART SAR USART 通讯 usart2

    3027浏览量 0回复量 关注量
  • 【请教】关于 PCA9555 芯片 I2C 通讯挂死的奇怪问题 sos

    [i=s] 本帖最后由 villivateur 于 2021-7-10 17:13 编辑 [/i] 最近的项目正在使用 STM32F103RC 和 PCA9555 芯片。 PCA9555 芯片的 port0 用于监控一个 4x4 的矩阵键盘(故 GPIO 低四位是输出模式,高四位是输入模式);port1 用于向外接并口显示屏写数据(故 GPIO 八位均为输出模式)。 STM32(使用 FreeRTOS) 通过 I2C 与 9555 通讯(使用了 STM32 的 I2C 控制器,非 GPIO 模拟),400kbps 速率。键盘监听和写显示屏是两个线程,通过信号量保证 I2C 读写不冲突。 [b]问题出现了:程序运行后,I2C 必现 SDA 被拉低挂死,必须重置 PCA9555 才能恢复,但下次启动又会被挂死。[/b] [b]奇怪的现象是,如果我把 PCA9555 port1 的最高位初始化为输入模式,同样的代码,就不会出现任何问题。[/b] 同样的,删掉键盘监听线程(或者删掉监听线程里面读 I2C 的部分),也不会挂死;单独删掉显示屏线程,仍然会挂死。 我的代码: 1. 初始化键盘相关: [code]void keyboard_gpio_init() { PCA9555_WriteByte(PCA9555_OUTPUT_PORT0, 0x00); PCA9555_WriteByte(PCA9555_CONF_PORT0, 0xF0); // port 0 is keyboard }[/code]2. 初始化显示屏相关: [code]void tmf_lcd_gpio_init() { GPIO_InitTypeDef LCD_InitStructure; RCC_APB2PeriphClockCmd(LCD_CLK, ENABLE); LCD_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; LCD_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; LCD_InitStructure.GPIO_Pin = LCD_RS | LCD_RW | LCD_E | LCD_PSB | LCD_RST; GPIO_Init(LCD_PORT, &LCD_InitStructure); PCA9555_WriteByte(PCA9555_OUTPUT_PORT1, 0x00); PCA9555_WriteByte(PCA9555_CONF_PORT1, 0x00); // port 1 is lcd }[/code][color=#F00000][b]注意,此处如果把最后一行的 0x00 改成 0x80 或者 0xF0 等等,故障均会消失。[/b][/color] [color=#F00000][color=#000000]3. 键盘监听的部分代码:[/color][/color] [code]static inline uint8_t keyboard_get_col(void) { uint8_t data = 0xff; if (PCA9555_ReadByte(PCA9555_INPUT_PORT0, &data) != 0) { return 0xff; } if (data & KEYBOARD_COL0) { return 0x00; } if (data & KEYBOARD_COL1) { return 0x01; } if (data & KEYBOARD_COL2) { return 0x02; } if (data & KEYBOARD_COL3) { return 0x03; } return 0xff; } TMF_CMD keyboard_get_pressed(void) { uint8_t col; TMF_CMD pressed; uint8_t pressed_index; uint8_t flag=0; // 四行扫描完成之后 是否有按键 if (PCA9555_WriteByte(PCA9555_OUTPUT_PORT0, KEYBOARD_ROW0) != 0) { return TMF_CMD_NONE; } col = keyboard_get_col(); // 这一行可以成功执行,执行完后就挂死了 if(col!=0xff){ pressed_index = 0x00+col; flag = 1; } ......[/code]4. PCA9555 驱动请见 https://drive.vvzero.com/s/X8CNkkSKNzYqMbX 请问,是我哪里没搞对吗?

    STM32 芯片 通讯 pc I2c LCD

    4554浏览量 0回复量 关注量
  • i2sextx基地址问题

    最近在使用at32f403a系列单片机做i2s全双工通讯,使用DMA接收时需设置外设地址i2sext2,手册上没找到介绍,请技术人员给与解答

    se DMA 全双工 单片机 通讯 系列单片机

    3795浏览量 1回复量 关注量
  • 长线电压释放问题

    各位大佬好,做一个二总线通讯的设备,通过控制其中一条线的电压高低来通讯。现在遇到问题,怎样在长线下使得信号的下降沿加快速度。现在断线下可以正常收发,但是长线下下降沿受影响。有没有这方面经验的大佬指点一下

    电压 通讯 信号 总线 控制 总线通讯

    10631浏览量 16回复量 关注量
  • 二代龙芯派 sos

    各位大神,怎么用二代龙芯派和5g模块通过网线通讯呀!!!!

    网线 通讯 5G模块 5g

    1768浏览量 0回复量 关注量
  • 请问哪位大牛用过GD32F330F8P6 20pin的做SPI无线模块nrf24l01通讯 sos

    我按照st的开发例程做,无法驱动无线模块,找不到模块,怀疑是不是读写这部分代码有问题//SPIx 读写一个字节 //TxData:要写入的字节 //返回值:读取到的字节 uint8_t SPI_ReadWriteByte(uint8_t TxData) { uint8_t retry=0; // uint8_t DATA=0; while (spi_i2s_flag_get(SPIx, SPI_FLAG_TBE) == RESET) //检查指定的SPI标志位设置与否:发送缓存空标志位 { retry++; if(retry>200)return 0; } spi_write_byte(SPIx, TxData); //通过外设SPIx发送一个数据 // USART0_Send_Byte(TxData); retry=0; while (spi_i2s_flag_get(SPIx, SPI_FLAG_RBNE) == RESET)//检查指定的SPI标志位设置与否:接受缓存非空标志位 { retry++; if(retry>200)return 0; } // DATA = spi_i2s_data_receive(SPIx); // USART0_Send_Byte(DATA); return spi_i2s_data_receive(SPIx);//返回通过SPIx最近接收的数据 }

    GD32F330 nRF24L01 无线模块 通讯 spi TE

    2622浏览量 0回复量 关注量
  • 485通讯偶尔出现第一个字节或者前两个字节丢失怎么办?

    485通讯偶尔出现第一个字节或者前两个字节丢失怎么办?485通讯偶尔出现第一个字节或者前两个字节丢失怎么办?485通讯偶尔出现第一个字节或者前两个字节丢失怎么办?

    通讯

    4334浏览量 12回复量 关注量
  • CH9141蓝牙透传模块通信问题 sos

    CH9141透传模块可以与CH577进行通讯么?

    蓝牙 通信 通讯

    1946浏览量 0回复量 关注量
  • stm8 BootLoader问题请教 sos

    情况是这样的: 需求:通过CAN通讯升级APP代码,并且擦写flash的驱动也要通过CAN通讯发送,不能直接写在flash里面进行调用。(这样是为了安全) 使用的MCU:stm8af系列 问题:怎么样实现flash擦写函数不在代码里体现而是通过外部通讯获得。 我现在的思路是 把擦写函数编译出来的二进制代码存在数组里,然后用函数指针去调用,我觉得这种思路应该是没有问题的,但是试下来却不行。 这种需求在汽车领域应该用的很多,请各位指点迷津。。 感谢~~

    Bootloader STM8 代码 flash 通讯

    2425浏览量 0回复量 关注量
  • MCGS modbusRTU

    触摸屏与单片机通讯用的是modbusRTU地址,地址为301071组态时的设备编辑窗口的通道名称怎么设置?

    MODBUSRTU 单片机 触摸 触摸屏 通讯

    1506浏览量 1回复量 关注量
  • 485通讯偶尔出现第一个字节或者前两个字节丢失

    [i=s] 本帖最后由 影烛光 于 2020-12-25 10:29 编辑 [/i] 485通讯, 波特率是115200 思路是中断收发数据,主程序中检测到总线大于2ms空闲后,进行接收数据处理,再重新发送。 错误的概率不高,但是偶尔会出现。 目前最严重的情况是直接导致单片机和屏幕无法进行通讯(无法自己调节,重启后仍可能无法通讯) [attach]1601054[/attach]补充一下,这个是原理图

    通讯 AC 主程序 单片机 原理图

    18926浏览量 21回复量 关注量
  • STC12C5A串口接收问题

    芯片是STC12C5A16S2,通讯波特率为115200BPS,串口中断优先级设为最高(其它的都比串口低)。现在连续接收100字节存在内存数组里。 总也收不正常,是不是速度太快了,来不及处理。

    串口接收 STC12C5A 内存 芯片 通讯

    799浏览量 2回复量 关注量
  • 无线通讯方案的选择

    无线通讯都有哪些?价格分别是怎样的?物美价廉的选择该怎么选呢?

    通讯 无线通讯 无线

    653浏览量 1回复量 关注量
  • 异电源通讯

    请问一下,一个MCU是5V供电,另一个是1.2V供电,两个之间串口能直接连接吗?由于设计需要,所以用不同的电源供电。

    电源 通讯 供电 MCU 串口

    1015浏览量 3回复量 关注量
12下一页