数据类型Number-数字类型数字类型包含int,float,bool,complex类型int-整型整型-正数,负数,0#type(variable)可以查看变量的类型#id(variable)可以查看变量的地址age=18res=type(int)#intres_id=id(age)#返回内存地址#二进制整型intvar=0b110print(type(intvar))#intprint(id(intvar))#8进制整型intvar=0o127print(type(intvar))#int87print(id(intvar))#16进制整型intvar=0xffprint(type(in
点击查看最新编程语言流行度排名(每月更新)2023年03月编程语言流行度排名编程语言流行度排名是通过分析在谷歌上搜索语言教程的频率而创建的一门语言教程被搜索的次数越多,大家就会认为该语言越受欢迎。这是一个领先指标。原始数据来自谷歌Trends如果您相信集体智慧,那么流行编程语言排名可以帮助您决定学习哪门语言,或者在一个新的软件项目中使用哪一门语言排名编程语言占比占比改变1Python27.91%-0.60%2Java16.58%-1.60%3JavaScript9.67%+0.60%4C/C++6.93%-0.50%5C#6.88%-0.50%6PHP5.19%-0.60%7R4.23%-0.
点击查看最新编程语言流行度排名(每月更新)2023年03月编程语言流行度排名编程语言流行度排名是通过分析在谷歌上搜索语言教程的频率而创建的一门语言教程被搜索的次数越多,大家就会认为该语言越受欢迎。这是一个领先指标。原始数据来自谷歌Trends如果您相信集体智慧,那么流行编程语言排名可以帮助您决定学习哪门语言,或者在一个新的软件项目中使用哪一门语言排名编程语言占比占比改变1Python27.91%-0.60%2Java16.58%-1.60%3JavaScript9.67%+0.60%4C/C++6.93%-0.50%5C#6.88%-0.50%6PHP5.19%-0.60%7R4.23%-0.
3.1介绍单时钟设计更易于实现,也更少出现亚稳态、建立和保持时间违例方面的问题。但在实践中,很少有设计只在一个时钟下运行。3.2多时钟域多个始终可以有以下一种或多种时钟关系:1、时钟频率不同。2、时钟频率相同,但相位不同。 3.3多时钟域设计的难题1、建立时间和保持时间的违背。2、亚稳态。事实上1就会导致23.3.1违背建立时间和保持时间 多时钟域情况下,很容易出现一个时钟域的输出在另一个时钟域的时钟上升沿到来时发生改变的现象。 图中xclk_output1不满足建立时间和保持时间,所以会造成亚稳态。而xclk_output2则没有该问题。3.3.2亚稳态详见第一章。3.4多时钟设计的处理技
3.1介绍单时钟设计更易于实现,也更少出现亚稳态、建立和保持时间违例方面的问题。但在实践中,很少有设计只在一个时钟下运行。3.2多时钟域多个始终可以有以下一种或多种时钟关系:1、时钟频率不同。2、时钟频率相同,但相位不同。 3.3多时钟域设计的难题1、建立时间和保持时间的违背。2、亚稳态。事实上1就会导致23.3.1违背建立时间和保持时间 多时钟域情况下,很容易出现一个时钟域的输出在另一个时钟域的时钟上升沿到来时发生改变的现象。 图中xclk_output1不满足建立时间和保持时间,所以会造成亚稳态。而xclk_output2则没有该问题。3.3.2亚稳态详见第一章。3.4多时钟设计的处理技
3.6握手信号方法 1)X将数放在数据总线上兵发出xreq信号,表示有效数据已经发到接收器Y的数据总线上。2)xreq信号同步到接收器时钟域ylk上。3)Y在识别xreq同步的信号yreq2后,锁存数据总线上信号。4)Y发出确认信号yack,表示其已经接收了数据。5)yack同步到发送时钟xclk上。6)X识别到同步的xack2信号后,将下一个数据放到数据总线上。如图,安全地将一个数据从发送器传输到接收器需要5个时钟周期。3.6.1握手信号的要求数据应在发送时钟域内稳定至少两个时钟上升沿。xreq宽度应该超过两个上升沿时钟,否则从高速时钟域到低速时钟域传递可能无法捕捉到该信号。3.6.2握手信
3.6握手信号方法 1)X将数放在数据总线上兵发出xreq信号,表示有效数据已经发到接收器Y的数据总线上。2)xreq信号同步到接收器时钟域ylk上。3)Y在识别xreq同步的信号yreq2后,锁存数据总线上信号。4)Y发出确认信号yack,表示其已经接收了数据。5)yack同步到发送时钟xclk上。6)X识别到同步的xack2信号后,将下一个数据放到数据总线上。如图,安全地将一个数据从发送器传输到接收器需要5个时钟周期。3.6.1握手信号的要求数据应在发送时钟域内稳定至少两个时钟上升沿。xreq宽度应该超过两个上升沿时钟,否则从高速时钟域到低速时钟域传递可能无法捕捉到该信号。3.6.2握手信
3.8异步FIFO(双时钟FIFO) 如上图,X通过xclk将数据写入FIFO,Y通过yclk将数据读出。注意这里写满标志信号在写时钟域,空信号在读时钟域。对比握手信号,异步FIFO用于对性能要求较高的设计中,尤其是时钟延迟比系统资源更重要的环境中。异步FIFO主要需要注意信号亚稳态的问题。3.8.1避免用二进制计数器实现指针如果使用二进制计数,一次可能变换多位,这时就需要将多位数据同步到另一个时钟域,很容易造成错误。3.8.2使用格雷码取代二进制计数格雷码优势是在一个数变成另一个数时,只有一位出现变化。所以其在转换中最多只会一位错误,读取时要么读到旧值,要么读到新值,但是不会读到其他值。3
3.8异步FIFO(双时钟FIFO) 如上图,X通过xclk将数据写入FIFO,Y通过yclk将数据读出。注意这里写满标志信号在写时钟域,空信号在读时钟域。对比握手信号,异步FIFO用于对性能要求较高的设计中,尤其是时钟延迟比系统资源更重要的环境中。异步FIFO主要需要注意信号亚稳态的问题。3.8.1避免用二进制计数器实现指针如果使用二进制计数,一次可能变换多位,这时就需要将多位数据同步到另一个时钟域,很容易造成错误。3.8.2使用格雷码取代二进制计数格雷码优势是在一个数变成另一个数时,只有一位出现变化。所以其在转换中最多只会一位错误,读取时要么读到旧值,要么读到新值,但是不会读到其他值。3
目录一、IO口输入内容二、什么是按键三、按键分析1.独立按键2.矩阵按键3.抖动四、按键案例1.按下按键点亮一个LED灯2.按键模拟二进制3.矩形按键控制LED灯的亮灭总结一、IO口输入内容在学习按键之前先学习一下如何往单片机的IO口输入内容。其实输入的本质就是往单片机的一个端口在外部给一个电平,然后单片机中的程序去读取那个端口的电平即可完成一次输入。51单片机的输入电平是非常简单的,不需要像stm32一样,需要调节端口的模式才能读取端口的电平,51单片机只需要读取端口的电平就可以了,非常的简单。比如说现在我给我的单片机的P2组中第2个引脚一个电平,那么接收的代码如下:intmain(){in