rx

STM32F0_HAL库驱动描述——基于F1的USART串口IT中断实现解析

给你一囗甜甜゛ 提交于 2020-03-15 18:44:36
从原子F103 HAL库基础串口例程来看HAL程序结构; 从main函数开始,首先是HAL库两个函数的初始化: HAL_Init(); Stm32_Clock_Init(RCC_PLL_MUL9); 解析HAL_Init() 分为四个部分: A:启用FLASH预取缓存区; B:设置中断组优先级(由于F0是M0系列的,因此没有组优先级一说); C:配置SYSTICK时钟; D:初始化低等级的硬件; HAL_StatusTypeDef HAL_Init(void) { /* Configure Flash prefetch */ #if (PREFETCH_ENABLE != 0) #if defined(STM32F101x6) || defined(STM32F101xB) || defined(STM32F101xE) || defined(STM32F101xG) || \ defined(STM32F102x6) || defined(STM32F102xB) || \ defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG) || \ defined(STM32F105xC) || defined(STM32F107xC) /* Prefetch

Verilog 学习笔记-urat串口

▼魔方 西西 提交于 2020-02-27 14:18:20
串口:    串口在嵌入式设备里经常会用到,串口主要包括RS232C串口,RS485串口等,他们只是电平不一样。   RS232也称标准串口,是一种比较常用的串口,采用标准的DB9接口,RS232采用的是负逻辑电平,即-12~-5V表示逻辑1,+5~+12V表示逻辑0。   一般的MCU或者FPGA的管脚只能输出TTL电平,所以一般需要采用想MAX232等电平转换芯片将UART的TTL电平转换成RS232电平。 UART:   UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信。 UART传输协议:    UART一般具有11个bit位,包括一个起始位,8个数据位,一个校验位,一个停止位,校验位可以省掉。    verilog代码实现:   现以将FPGA接收到上位机的数据然后再将这些数据发送回上位机显示为例,整个串口部分可以分别分为 接收 和 发送 模块。   首先接收模块:      接收模块主要包含时钟复位输入,以及8个串行数据输入,以及将接收到的串行数据转换成并行数据输出,并输出一个接收完成标志位。   同时在接收模块内产生串口接收所需要的波特率。 接收模块代码如下:    `timescale 1ns / 1ps //////////////////////////////////////

华硕玩家国度打造最暴力RX 480:频率冲击1.6GHz

痴心易碎 提交于 2020-02-10 03:42:36
RX 480发布没多久,各家的非公版增强卡就纷纷露面,而新架构的高频率特性也正在逐渐被挖掘出来。 据外媒原因AMD显卡厂商伙伴的消息称, 如果搭配极佳的第三方散热器,再适当调节电压,RX 480的超频空间相当巨大,可以轻松超到1480-1600MHz,相比于公版频率提高17-26%之多。 那么,谁会摘得高频桂冠呢?目前来看, 迪兰恒进的RX 480 Devil恶魔版 就是候选者之一,已经肯定会超过1.4GHz,为此上了8针供电接口。 华硕玩家国度的ROG Strix RX 480 也十分生猛,因为根据最新爆料, 它竟然用了两个辅电接口(可能是6+6也可能是6+8),搭配同样三风扇散热器。 鉴于玩家国度一向的疯狂程度,可以预料其频率铁定不会低,1.5GHz左右几乎是必然的。 Strix RX 480还为喜欢信仰灯的玩家准备了可以变换灯光色彩的发光条,背部ROG LOGO同样五彩缤纷。 另外, 微星也在打造一款RX 480 Gaming游戏版本 ,具体情况不详,但网上出现了其局部照片,可以看到两个硕大风扇。 来源: https://www.cnblogs.com/lzhdim/p/5635777.html

【校内模拟】矩阵求和(组合数转下降幂转自然幂)(斯特林数)(树状数组)

给你一囗甜甜゛ 提交于 2020-02-06 05:12:44
简要题意: 一个 n × m n\times m n × m 矩阵,第 i i i 行第 j j j 列的权值为 ( i − 1 ) ⋅ m + j (i-1)\cdot m + j ( i − 1 ) ⋅ m + j ,需要你支持一下三种操作: R,交换两行 C,交换两列 Q,询问对一个子矩阵求 k k k 次二维前缀和后矩阵中元素之和。 数据范围 n , m , Q ≤ 1 e 5 , k ≤ 10 n,m,Q\leq 1e5,k\leq 10 n , m , Q ≤ 1 e 5 , k ≤ 1 0 题解: 容易发现一个点的权值只和行号和列号有关,容易想到行列分开维护。 询问的子矩形用 ( l x , l y ) − ( r x , r y ) (lx,ly)-(rx,ry) ( l x , l y ) − ( r x , r y ) 表示。 朴素一点考虑求出来的前缀和,考虑每个位置被求了多少次,可以表示为: A n s = ∑ i = l x r x ∑ j = l y r y ( k + r x − i k ) ( k + r y − j k ) ( a i + b j ) Ans=\sum_{i=lx}^{rx}\sum_{j=ly}^{ry}{k+rx-i\choose k}{k+ry-j\choose k}(a_i+b_j) A n s = i = l x ∑ r x

shell 脚本查看RX TX

为君一笑 提交于 2020-02-01 03:36:29
#!/bin/bash while [ "1" ] do eth=$1 RXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}') TXpre=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}') sleep 1 RXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $2}') TXnext=$(cat /proc/net/dev | grep $eth | tr : " " | awk '{print $10}') clear echo -e "\t RX `date +%k:%M:%S` TX" RX=$((RXnext-RXpre)) TX=$((TXnext-TXpre)) if [[ $RX -lt 1024 ]];then RX="${RX}B/s" elif [[ $RX -gt 1048576 ]];then RX=$(echo $RX | awk '{print $1/1048576 "MB/s"}') else RX=$(echo $RX | awk '{print $1/1024 "KB/s"}') fi if [[ $TX -lt

ifconfig源代码分析

丶灬走出姿态 提交于 2020-01-27 19:36:38
一、ifconfig显示 [root@10g-host4 new]# ifconfig eth0 Link encap:Ethernet HWaddr 00:26:B9:4A:FC:EA inet addr:192.168.100.4 Bcast:192.168.100.255 Mask:255.255.255.0 inet6 addr: fe80::226:b9ff:fe4a:fcea/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:272 errors:0 dropped:0 overruns:0 frame:0 TX packets:66 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:19904 (19.4 KiB) TX bytes:10312 (10.0 KiB) eth2 Link encap:Ethernet HWaddr 00:16:31:F0:9E:94 inet addr:192.168.99.4 Bcast:192.168.99.255 Mask:255.255.255.0 inet6 addr: fe80::216:31ff:fef0:9e94/64

BC26接入电信云平台流程

故事扮演 提交于 2020-01-25 15:31:58
目录 前言 一、电信平台注册 二、BC26串口收发 三、注意事项 前言 最近一直在做NB模块对接电信云平台的项目,在此分享下NB模块接入云平台流程,这次介绍的是移远BC26芯片,电信的云平台也换到了他们的新平台。 一、电信平台注册 登录电信新平台后( https://www.ctwing.cn/page.html#/aepuserhelp ),先创建产品。产品分类以具体产品为准,产品选项中选择网络类型为NB-IOT,通信协议是LWM2M,其他选项参考图1-1.其中是否透传按实际需求为准。 图1-1 创建产品成功后,需要在该产品下定义属性列表以及服务列表。两者是平台对设备上报数据的解析,所以如果是设置为透传模式,则无法定义属性列表和服务列表。最后再进行添加设备,在云平台上设备以对应的IMEI码做区分。注意:必须要先在平台上添加好设备,相应的实体设备才能连接上。 二、BC26串口收发 在电信IOT注册好相应产品和设备后,再对BC26模组进行串口通信实现网络连接。BC26模组,通过设置PWRKEY引脚进行开机,开机后收到上电初始化信息如图2-1所示。即可以通过接收图中字符串来判断NB模块是否上电初始化成功。 图2-1 其串口通信过程参考网络文档和BC26的LWM2M手册,其手册中例子如图2-2所示,其云平台接收数据如图2-3所示。具体串口通信的收发内容如下测试记录所示: TX: AT /

linux的串口驱动分析

旧时模样 提交于 2020-01-10 05:59:38
1、串口驱动中的数据结构 • UART驱动程序结构: struct uart_driver 驱动 • UART端口结构: struct uart_port 串口 • UART相关操作函数结构: struct uart_ops 串口操作函数集 • UART状态结构: struct uart_state 串口状态 • UART信息结构: struct uart_info 串口信息 2、串口驱动程序-初始化 3、串口驱动分析-打开设备 static int s3c24xx_serial_startup(struct uart_port *port) { struct s3c24xx_uart_port *ourport = to_ourport(port); int ret; dbg("s3c24xx_serial_startup: port=%p (%08lx,%p)\n", port->mapbase, port->membase); rx_enabled(port) = 1; ret = request_irq(ourport->rx_irq, s3c24xx_serial_rx_chars, 0, s3c24xx_serial_portname(port), ourport); if (ret != 0) { printk(KERN_ERR "cannot get irq %d

Linux 查看实时网卡流量的方法 nload sar iftop

风流意气都作罢 提交于 2020-01-07 23:21:19
1.使用nload yum install -y gcc gcc-c++ ncurses-devel make wgetwget http://www.roland-riegel.de/nload/nload-0.7.4.tar.gztar zxf nload-0.7.4.tar.gz && cd nload-0.7.4 && ./configure && make && make install # nload ens33 有图形界面显示,比较直观 2.sar 计量脚本 sar (System Activity Reporter 系统活动情况报告 )是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 I/O、CPU 效率、内存使用状况、进程活动及 IPC 有关的活动等。 yum -y install sysstat # cat flow #!/bin/bash ethn=$1 while true do RX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $2}') TX_pre=$(cat /proc/net/dev | grep $ethn | sed 's/:/ /g' | awk '{print $10

STM32基于Rt-thread3.12系统的串口通讯

泪湿孤枕 提交于 2020-01-06 23:10:32
前言 STM32的串口收发可以说是对这个芯片学习的一个基础,相信接触过STM32的朋友首先学会的就是它的GPIO和USART。对GPIO和串口初始化的操作我在这里不做赘述,这些在STM32的例程里面很容易找到学会。我们在这里重点介绍STM32的串口中断接收,以及在RTT系统中我们如何把串口device注册到系统的对象容器里。 关于RT-Thread3.12系统 作为国产小型嵌入式系统中的翘楚,RTT也是被大多数产品所使用。我参与的这个项目RTT的主要工作就是多线程调度和串口device的控制。对于线程的调度先不详细说明,我们这里只介绍串口通讯一个线程的东西。 RTT对象 在 RT-Thread中,所有的数据结构都称之为对象。 其中线程,信号量,互斥量、事件、邮箱、消息队列、内存堆、内存池、设备和定时 器在 rtdef.h 中有明显的枚举定义,即为每个对象打上了一个数字标签。我们这里的对象就特指设备,而我们的设备就特指串口。 那么我们使用这个对象有什么用处呢,我私以为有两个最大的用处,一是有利于设备管理,二是基于程序安全考虑。我使用这一功能的时候基本与第一个用处不沾边,因为我们就一个串口设备。主要还是基于安全的考虑才使用RTT对象。 使用系统的对象也就是把硬件驱动注册到系统中,让系统对就硬件进行操控,我们再通过系统操控硬件。 串口注册到系统