rx

列表中嵌套字典,根据字典的值排序

喜欢而已 提交于 2019-12-19 11:51:27
格式: 数据类型为列表,列表元素为字典。由字典组织的列表形式。 分析: 可以将列表中的字典先放入到一个大字典中,对整个字典进行排序,在排序完成后,再转换为列表包含字典的形式即可 现在有一个列表,根据每个字典的值进行排序。 dict_list = [{"ming": 87}, {"mei": 93}, {"hua": 68}, {"jon": 75}, {"ston": 100}, {"jack": 56}] 思路 :可以将列表中的字典先放入到一个大字典中,对整个字典进行排序,在排序完成后,再转换为列表包含字典的形式即可。 from operator import itemgetter dict_list = [{"ming": 87}, {"mei": 93}, {"hua": 68}, {"jon": 75}, {"ston": 100}, {"jack": 56}] mid_dict = {key: value for x in dict_list for key, value in x.items()} mid_list = sorted(mid_dict.items(), key=itemgetter(1)) fin_list = [{x[0]: x[1]} for x in mid_list] 例子:T=[{'xgei-0/0/1/1': '9'}, {'xgei-0/0

Rx?? 的思考

不羁岁月 提交于 2019-12-13 02:11:45
现在很多语言都有Rx了,Rx.Net,Rx.Java,Rxjs 等,我想是因为这是利用函数语言的异步优势的一种编程形态 Rx 是一种搭建处理流的框架,从observable开始到 subscribtion结束函数式处理过程 中间的处理逻辑是外面根据需要传进来的,应该是充分利用的函数式语言对状态的管道式封闭,专一化,而避免了,传统描述式语言的状态开放共享导致并发处理困境,比如脏读和锁等情况得到了规避, 所以Rx的流是指Rx这个框架所构建的处理流,而非里面的数据流,这个处理流,由源和响应所构建,这个处理流中的次序具有稳定性可靠性,所以异步事件流,或数据流通过这个处理流是异步安全可靠的。 同时这种方式体现了函数式编程的另一个优势就是更易读和表达,对状态管理更节省,因为临时变量都在形参的表述中被有效的管理和隐藏了,整个代码更简洁和稳定,降低了并发故障率,代码变得更少,更有效,思路呈现得更加清晰,这都是函数式编程的重要价值,现在这种哲学已经在传统语言中渗透开了,各种语言中的Rx库就是证明! 来源: https://www.cnblogs.com/ProjectDD/p/12027814.html

wk2124 在 rk3288 上的适配与调试

若如初见. 提交于 2019-12-05 14:37:56
2019-11-25 关键字:linux驱动开发、arm驱动适配、kernel开发、SPI转串口 WK2124 是一款 SPI 接口的 4 通道 UART 芯片。说白了就是一款通过 SPI 协议与 CPU 通信并对外表现出具备 4 个 232 串口功能的扩展芯片。它适用于 CPU 引脚资源不够或紧缺的情况,它的最高通信速率能达到 10Mbps。 本篇文章记述的是 WK2124 芯片在软件上的适配过程,属于软件开发范畴。但其实大家都知道,干到驱动这一层,对硬件电路一窍不通的话那是真干不下去。就拿这块芯片的软件层适配来说,我们需要的官方文档有: 1、芯片datasheet; 2、参考驱动程序; 3、参考原理图。 这些文件一般芯片厂商会提供,笔者这里也准备好了一份文件,有需要的可以直接下载: https://pan.baidu.com/s/1tpjTmRO5xgQXF-w7YsUqdA 提取码: juz1 首先来看看 WK2124 的引脚封装,如下图所示: 对于我们来说,在适配阶段需要关心的脚就 5 个,如上图标红框处所示。这些引脚的功用,datasheet 上都已有很详尽的说明: SPI 通信引脚在笔者的 3288 样机上所连接的 CPU 引脚是 SPI2,如下图所示: IRQ 脚在笔者的 3288 样机上所连接的 CPU 引脚是 GPIO7_A2,如下图所示: 然后,还有一个最重要的

2019-2020-2-20175315 20175322 20175334-实验二固件程序设计

心已入冬 提交于 2019-12-04 18:00:35
2019-2020-2-20175315 20175322 20175334-实验二固件程序设计 实验二 固件程序设计 实验二 固件程序设计-1-MDK 0. 注意不经老师允许不准烧写自己修改的代码 1. 三人一组 2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 3. 提交破解程序中产生LIC的截图 4. 提交破解成功的截图 实验截图 实验二 固件程序设计-2-LED 0. 注意不经老师允许不准烧写自己修改的代码 1. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 2. 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图 3. 实验报告中分析代码 程序分析 主函数代码的执行过程为: 1、系统初始化,中断设置使能所有; 2、判断按键,返回 boot 条件,确认是否进行程序下载; 3、设置 GPIO0 状态为上拉输出; 4、进入循环程序, LED 灯间隔 100ms 闪烁。

2019-2020-1 20175208 20175218 20175230 实验二 固件程序设计

不想你离开。 提交于 2019-12-04 15:55:24
2019-2020-1 20175208 20175218 20175230 实验二 固件程序设计 一、实验内容 1、固件程序设计-1-MDK 注意不经老师允许不准烧写自己修改的代码 三人一组 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.1-1.5安装MDK,JLink驱动,注意,要用系统管理员身分运行uVision4,破解MDK(破解程序中target一定选ARM) 提交破解程序中产生LIC的截图 提交破解成功的截图 2、固件程序设计-2-LED 注意不经老师允许不准烧写自己修改的代码 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.9”完成LED实验,注意“打开Z32的电源开关前,按住Reboot按键不放,两次打开电源开关,Z32即可被电脑识别,进行下载调试。提交运行结果截图 实验报告中分析代码 3、固件程序设计-3-UART 注意不经老师允许不准烧写自己修改的代码 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.4” KEIL-MDK 中添加 Z32 SC-000 芯片库,提交安装截图 参考云班课资源中“信息安全系统实验箱指导书.pdf “第一章,1.0

docker exec 运行命令

荒凉一梦 提交于 2019-12-04 09:41:34
docker:/root/sbin# docker exec -it 17aaf60ee3a1 /sbin/ifconfig -a eth1 Link encap:Ethernet HWaddr 22:EC:37:B0:5E:0E inet addr:192.168.32.152 Bcast:192.168.32.255 Mask:255.255.255.0 inet6 addr: fe80::20ec:37ff:feb0:5e0e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:75782 errors:0 dropped:0 overruns:0 frame:0 TX packets:3598 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6371340 (6.0 MiB) TX bytes:257864 (251.8 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU

2019年11月12日

亡梦爱人 提交于 2019-12-04 06:53:34
一、USART简介   通用同步异步收发器(USART)提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。   STM32 的串口资源相当丰富的,功能也相当强劲。STM32F103ZET6 最多可提供 5 路串口,有分数波特率发生器,支持同步单向通信和半双工单线通信,支持LIN(局部互连网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。使用多缓冲器配置的DMA方式,可以实现高速数据通信。 二、USART功能概述   接口通过三个引脚与其他设备连接在一起。任何USART双向通信至少需要两个脚:接收数据输入(RX)和发送数据输出(TX)。   RX:接收数据串行输。通过过采样技术来区别数据和噪音,从而恢复数据。   TX:发送数据输出。当发送器被禁止时,输出引脚恢复到它的I/O端口配置。当发送器被激活,并且不发送数据时,TX引脚处于高电平。在单线和智能卡模式里,此I/O口被同时用于数据的发送和接收。   串口外设主要由三个部分组成,分别是波特率的控制部分、收发控制部分及数据存储转移部分。   1、波特率控制   波特率,即每秒传输的二进制位数,用 b/s (bps)表示,通过对时钟的控制可以改变波特率。在配置波特率时

renesas ravb网卡驱动实现分析(linux uboot xvisor)

易管家 提交于 2019-12-03 09:52:46
net_device结构体 相对于linux做了相当大简化,其结构及含义如下: struct net_device { char name[MAX_NETDEV_NAME_LEN]; //用于存放网络设备的设备名称 struct vmm_device *dev; //??? const struct net_device_ops *netdev_ops; //上层ops接口 const struct ethtool_ops *ethtool_ops; //可选ops接口 unsigned int state; //网络设备接口的状态 unsigned int link_state; //链接状态 void *priv; /* Driver specific private data */ void *nsw_priv; /* VMM virtual packet switching layer specific private data.*/ void *net_priv; /* VMM specific private data -Usecase is currently undefined */ unsigned char dev_addr[MAX_NDEV_HW_ADDRESS]; //硬件接口地址 unsigned int hw_addr_len; //硬件地址长度

problem with testpmd on dpdk and ovs in ubuntu 18.04

匿名 (未验证) 提交于 2019-12-03 01:39:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: i have a X520-SR2 10G Network Card, i gonna use that to create 2 virtual interfaces with OpenvSwitch that compiled with dpdk (installed from repository of ubuntu 18.04) and test this virtual interfaces with testpmd, i do following jobs : Create Bridge $ ovs-vsctl add-br br0 -- set bridge br0 datapath_type=netdev bind dpdk ports $ ovs-vsctl add-port br0 dpdk0 -- set Interface dpdk0 type=dpdk options:dpdk-devargs=0000:01:00.0 ofport_request=1 $ ovs-vsctl add-port br0 dpdk1 -- set Interface dpdk1 type=dpdk options:dpdk-devargs=0000:01:00.1

STM32--SPI配置nrf24l01调试笔记

匿名 (未验证) 提交于 2019-12-03 00:22:01
地址配置 //发送/接收地址一 const u8 TX_ADDRESS[TX_ADR_WIDTH]={ 0x34 , 0x43 , 0x10 , 0x10 , 0x01 }; //发送地址 const u8 RX_ADDRESS[RX_ADR_WIDTH]={ 0x34 , 0x43 , 0x10 , 0x10 , 0x01 }; //发送/接收地址二 const u8 TX_ADDRESS1[TX_ADR_WIDTH]={ 0x35 , 0x43 , 0x10 , 0x10 , 0x01 }; //发送地址 const u8 RX_ADDRESS1[RX_ADR_WIDTH]={ 0x35 , 0x43 , 0x10 , 0x10 , 0x01 }; void NRF24L01_TX_Mode( void ) { NRF24L01_CE= 0 ; NRF24L01_Write_Buf(NRF_WRITE_REG+TX_ADDR,(u8*)TX_ADDRESS,TX_ADR_WIDTH); //写TX节点地址 NRF24L01_Write_Buf(NRF_WRITE_REG+RX_ADDR_P0,(u8*)RX_ADDRESS1,RX_ADR_WIDTH); //设置TX节点地址,主要为了使能ACK NRF24L01_Write_Reg(NRF_WRITE_REG+EN_AA,