在Linux中使用4G模块ME3630配置ECM模式上网

ECM(Ethernet Control Model,以太网控制模型)是一种基于 USB CDC(通信设备类)的网络连接方式。4G 模块通过 USB 模拟以太网设备(如 usb0),主机端将其识别为网络接口,直接通过 DHCP 获取 IP 地址。 连接过程 把ME3630通过转接板,通过usb接口连


Linux内核模块驱动编写及导入

先前要使用rock5a rk3588s芯片中的pwm通道作为两个电调的输入信号使用。 查阅资料,在rsetup中打开相对应的pwm-gpio后,发现可以通过用户空间直接操控pwm频率,占空比。 其用作电调的控制是足够的,但是想更进一步,把pwm编写为字符设备驱动程序。 esc-pwm驱动程序编写 这


Debian APT系统代理

Debian APT系统代理 Debian不同于Ubuntu,前者需要进行很长的手动操作,才能实现terminal的代理 打开 vim ~/.bashrc 输入 alias proxy=" export http_proxy=http://127.0.0.1:7890; export


ARM架构double计算比float计算快现象

ARM架构double计算比float计算快现象 在评估rk3588处理器性能发现,现在处理器计算双精度浮点比单精度浮点要快上不少,其测试程序如下 int main(){ auto a = HAL::time().ns(); float f1 = 0.1; for (in


ArduPilot源码阅读——Location篇

ArduPilot源码阅读——Location篇 location class类中有很多关于经纬度计算 小距离内近似获取方向角 获取当前this对象相对于loc2对象的方向角 这里采用了一种近似算法,把经纬度球面坐标系在小范围内(10KM)近似为平面直角坐标系, 采用NED形式,x轴指东表示经度,y


ArduPilot源码阅读——底层油门转向篇

ArduPilot源码阅读——底层油门转向篇 低通滤波器 在AC_AttitudeControl_Sub中写到了一个使用低通滤波器,来防止突然变化的高度信息,使控制器缓慢达到目标值 _althold_lean_angle_max = _althold_lean_angle_max + (_dt/(_


STM32串口接收溢出处理问题

STM32串口接收溢出处理问题 读取GNSS接收机串口数据的时候发现, 我只需要接收时间,所以只需要接收NMEA数据的前40个字节即可定位时间, 于是我用 HAL_UART_Receive(&huart2, (uint8_t*)nmea_buffer, 40, 40); 但是接收了几个回合后发现,其


Ring buffer (环形数据采集区)

Ring buffer (环形数据采集区) 为了解决写SD过慢,从而采集数据不够快的问题 Ring buffer的定义,方法声明(放在头文件中) /* ------------- ring buffer ---------------- */ #define BUFFER_SIZE 32768 //