• 在学习中我们如何快速准确的读懂单片机程序?

    在学习中我们如何快速准确的读懂单片机程序?

    在现实中,我相信有很多刚刚接触单片机的同学,简直是无从下手,打开一个程序,更会被复杂的结构和密密麻麻的代码吓到,产生退缩的想法,这篇文章带你了解一下单片机程序。 我对单片机的总结:“单片机其实就是一个芯片,内部有若干寄存器,外部有若干引脚,我们可以通过程序控制内部的寄存器使得引脚与外部世界保持联系!”就这几句话,道出了单片机的真谛!有没有感觉到单片机是多么的简单! 1.单片机程序执行流程 这是我们首先必须要知道的。单片机程序一般就有两种,一种是汇编程序,一种是c语言程序。这里我们讲c语言程序。 单片机程序都有一个包含主函数的文件,包含主函数的文件都有一个统一的结构,如下所示: #include "xxx.h" int main() // 这是主函数的函数名 { ......; // 若干条语句 ......; while(1) // while括号中是1,说明程序进入后将在while里面无线循环,不会出来了,不懂的去看c语言基础之while篇 { ......; // 若干条语句 ......; } } 重点:单片机一上电,从主函数main的第一条语句开始执行,是一条语句接着一条语句从上而下执行,直到进入while后,再从while的第一条语句执行到最后一条语句,由于是死循环,会再从while的第一条语句执行到最后一条语句,如此反复执行,永不停止!直到断电! 这些语句当中,有些是函数的调用,遇到函数的调用,进入到函数,再从函数的第一条语句执行到最后一条语句,然后跳出函数,再从刚才主函数中那条函数的下一条语句开始执行。如果实在搞不明白函数是怎么一回事,你可以用函数里面的所有语句代替函数在主函数中的位置。例如: #include "LPC11XX.H" #define LED1_ON LPC_GPIO1->DATA &= ~(1<<0) #define LED1_OFF LPC_GPIO1->DATA |= (1<<0) #define LED2_ON LPC_GPIO1->DATA &= ~(1<<1) #define LED2_OFF LPC_GPIO1->DATA |= (1<<1) /***********************************/ /* 延时函数 */ /***********************************/ void delay() { uint16_t i,j; for(i=0;i<5000;i++) for(j=0;j<200;j++); } /***********************************/ /* LED初始化函数 */ /***********************************/ void led_init() { LPC_SYSCON->SYSAHBCLKCTRL |= (1<<16); LPC_IOCON->R_PIO1_0 &= ~0x07; LPC_IOCON->R_PIO1_0 |= 0x01; LPC_IOCON->R_PIO1_1 &= ~0x07; LPC_IOCON->R_PIO1_1 |= 0x01; LPC_SYSCON->SYSAHBCLKCTRL &= ~(1<<16); LPC_GPIO1->DIR |= (1<<0); LPC_GPIO1->DATA |= (1<<0); LPC_GPIO1->DIR |= (1<<1); LPC_GPIO1->DATA |= (1<<1); } /***********************************/ /* 主函数 */ /***********************************/ int main() { led_init(); while(1) { delay(); LED1_ON; LED2_OFF; delay(); LED1_OFF; LED2_ON; } } 上面这个例子中,单片机一上电,会执行主函数的第一条语句,也就是led_init(),这个是一个函数的调用语句,程序会从led_init函数中的第一条语句开始执行,直到执行完最后一条语句后,回到主函数,进入while,从while的第一条语句delay()开始执行,delay()又是一个函数,程序会从delay()的第一条语句开始执行,delay()函数中有两个for循环,执行完for循环后,就跳出delay()函数,执行LED1_ON,由于LED1_ON是个用#define定义的宏定义,由c语言基础知识之#define宏定义篇,我们知道,LED1_ON就是LPC_GPIO1->DATA &= ~(1<<0),如此继续执行下去……。 如果不用define宏定义,也不用函数,上面的例子就可以写为如下形式: #include "LPC11XX.H" /***********************************/ /* 主函数 */ /***********************************/ int main() { //LED初始化 LPC_SYSCON->SYSAHBCLKCTRL |= (1<<16); LPC_IOCON->R_PIO1_0 &= ~0x07; LPC_IOCON->R_PIO1_0 |= 0x01; LPC_IOCON->R_PIO1_1 &= ~0x07; LPC_IOCON->R_PIO1_1 |= 0x01; LPC_SYSCON->SYSAHBCLKCTRL &= ~(1<<16); LPC_GPIO1->DIR |= (1<<0); LPC_GPIO1->DATA |= (1<<0); LPC_GPIO1->DIR |= (1<<1); LPC_GPIO1->DATA |= (1<<1); while(1) { for(i=0;i<5000;i++) for(j=0;j<200;j++); LPC_GPIO1->DATA &= ~(1<<0); LPC_GPIO1->DATA |= (1<<1); for(i=0;i<5000;i++) for(j=0;j<200;j++); LPC_GPIO1->DATA |= (1<<0); LPC_GPIO1->DATA &= ~(1<<1); } } 有没有发现,第二种表示方法,虽然不涉及函数和宏定义了,对于c语言掌握不是很好的人来说,看的比较爽。如果你掌握了c语言的这些宏定义和函数的小技巧,第一种表示方法是不是更有利于阅读程序的功能呢? 2.读懂程序需要c语言基础知识,当然,也可以边看程序,边学习c语言基础知识。 3.读懂程序需要会看单片机的寄存器定义,在程序中,大都是在给单片机的寄存器进行配置或是获取单片机寄存器的数据。看哪种单片机程序,就要学会看哪种单片机的寄存器定义。知道了寄存器的定义,就知道如何配置寄存器或是获取的寄存器数据代表的意义了。 例如我们要看LPC1114的程序,那么LPC1114的用户手册是必须要打开的。例如LPC_SYSCON->SYSAHBCLKCTRL |= (1<<16);这条语句,就是在给SYSCON模块中的SYSAHBCLKCTRL寄存器进行配置,所以我们要找到这个寄存器的定义。首先,打开用户手册,找到SYSCON这一章,然后找到寄存器描述这一节,就可以找到这个寄存器的定义了。至于(|=(1<<16))这些,都是写基本的逻辑运算,也是些c语言的基础知识而已。例如(|=(1<<16)) 这个就是把1左移16个位,然后把左移后的数据与SYSAHBCLKCTRL寄存器进行或运算,运算后的结果再放入SYSAHBCLKCTRL寄存器当中。1左移16个位,就是bit16为1,其它位为0。与寄存器SYSAHBCLKCTRL进行或运算,我们不管这个寄存器原来的值是多少,我们现在只知道,1或任何数,都等于1;0或任何数,都等于任何数。所以,1左移16位后,再与寄存器进行或运算,实际上是把寄存器的bit16置1,剩下的位原来是多少,还是多少。 总结一句话,学习单片机主要是把程序里面的“或”“和”“进制转换”搞清楚,就很容易搞懂单片机程序了。

    单片机 单片机 程序

  • 新手在做单片机时是如何快速搞通NRF24L01通信的

    新手在做单片机时是如何快速搞通NRF24L01通信的

    我相信很多同学在刚开始学习单片机的时候,在做NRF24L01通信时会遇到很多棘手的问题,有时候一个星期也搞不明白,还有可能越搞越不懂,越搞越不会,最后无奈只好想放弃。今天在这里给大家讲一下新手是如何快速搞通的。 其实NRF24L01是一个非常容易操控的东西(读者:“站着说话不腰疼,会了当然不难”。瑞生:“真的很简单,请看下文”)。 大部分人使用的NRF24L01模块都如上图所示,上面模块的原理图如下: 看不清楚?去datasheet上去看。这里唠叨几句,很多人懒的要命,连datasheet也没有看过,就到处求爷爷求奶奶的帮他搞NRF24L01。还有一部分人,“我的datasheet上怎么没有?” “亲,能给个datasheet吗?”。datasheet是一个免费的东西,你要看哪个芯片的datasheet,去哪个芯片的官网去下载就可以了。瑞生说:你连芯片的datasheet也拿不到,我劝你还是改行吧! 为了节省大家的时间,这里放出NRF24L01的datasheet(^_^),点击下载:nRF24L01 回到正题,大家看NRF24L01模块的原理图,实际上就是一个芯片,连了一些必要的电容电阻电感和一个天线,然后留出了和单片机通信的SPI口和IRQ中断引脚。 NRF24L01,任何单片机可以驱动,带硬件SPI口的单片机,可以配置好SPI外设以后驱动,没有硬件SPI口的单片机,可以用IO口模拟SPI时序通信。 重点:NRF24L01是一个数字芯片,内部有若干寄存器,什么数据寄存器、配置寄存器、状态寄存器等。单片机通过SPI口,首先配置好NRF24L01的配置寄存器,诸如频道,通道,地址,接收还是发送模式等等。然后分两种情况,一、如果配置为了发送模式,就可以发送数据了,发送完数据以后,IRQ引脚会拉低,所以观察IRQ引脚就可以知道有没有发送成功;二、如果配置为了接收模式,就需要不断的观察IRQ引脚,IRQ引脚正常是高电平,如果接收到数据,就会变成低电平,所以观察这个引脚就知道有没有接收到数据。 新手在做NRF24L01的通信程序时,最好拿两个相同的单片机,做相同的程序(除了一个配置未发送,一个配置为接收)。 重中之重:首先要确保单片机和NRF24L01能够正常的SPI通信,这个就好比你和一个阿拉伯人说话,你告它先去家乐福买瓶牛奶,再去沃尔玛买个鸡腿,然后….,但是如果阿拉伯人根本听不懂你说话,那么…就没有然后了。你用单片机给NRF24L01写配置寄存器,输入地址,输入频道…稍等,你配置了半天,NRF24L01的寄存器真的如你所想配置好了吗?不确定?这就需要验证。验证方法?太容易了,找一个可读可写的寄存器,你先写进去,然后再读出来,如果数据一样,那么你的SPI通信就正常,你大可放心的配置了,如果读出来的数据和写进去的数据不一样,恭喜你,你再和不懂汉语的阿拉伯人说了半天废话,你还是先搞通SPI再说吧。这里我给你一个寄存器,就是地址寄存器,可读可写,所以你可以用地址寄存器验证一个SPI通信是否正常,下面是我写的验证函数: /********************************************/ /* 函数功能:检测24L01是否存在 */ /* 返回值; 0 存在 */ /* 1 不存在 */ /********************************************/ uchar NRF24L01_Check(void) { uchar check_in_buf[5]={0x11,0x22,0x33,0x44,0x55}; uchar check_out_buf[5]={0x00}; NRF_CE=0; NRF24L01_Write_Buf(WRITE_REG+TX_ADDR, check_in_buf, 5); NRF24L01_Read_Buf(READ_REG+TX_ADDR, check_out_buf, 5); if((check_out_buf[0] == 0x11)&&\ (check_out_buf[1] == 0x22)&&\ (check_out_buf[2] == 0x33)&&\ (check_out_buf[3] == 0x44)&&\ (check_out_buf[4] == 0x55))return 0; else return 1; } 如果你不确保你的SPI通信正常,请先确定以后再进行下面的内容,否则就可能要对牛弹琴了。 收发数据的程序,要先判断“数据是否发送出去了”和“是否接收到了”,而不要直接判断发送和接收的数据是否一致。 例如:接收模块,if(IRQ==0)点亮LED1,当程序执行后,当你看到LED1亮了,哇,接收到了。 当你确定接收到数据以后,你再判断接收到的数据和你发送的数据是否一致。 不难看出,以后我们在做程序的时候一定要循序渐进,不要一步求成。我们要相信一步一步的做,最后一定会完成的。

    单片机 NRF24L01通信 单片机

  • 学习单片机之前一定要先学会看懂数字世界

    学习单片机之前一定要先学会看懂数字世界

    如果我们在做单片机无线通信的时候,没有很好地理解“数字”的概念,我们就会遇到很多的问题,例如:可以传送文字吗?,可以传送声音和图片吗?......这些问题虽然听上去让人觉得很奇葩,但是正是这样的问题更反映出在学单片机之前,我们并没有做好功课。 数字与模拟 自从有了计算机,我们的生活就和数字息息相关了。 “数字”和“模拟”和的感性认识,最直接的就是电脑显示器的接口:VGA接口和DVI接口。VGA接口就是模拟接口,DVI接口就是数字接口。 (左边是DVI数字接口,右边是VGA模拟接口) 我们先来理解一下“数字”与“模拟”的区别。 在一个5V的系统中,“模拟”电压可以是0~5V中的任何一个值,例如2.36V,而“数字”电压,只有0V和5V两种,一般情况下,我们把0V称作低电平(0),把5V称作高电平(1)。 在数字世界中,只有0和1 我们每天使用的电脑就是一个数字器件,各种声音、图片、视频、文字等数据在电脑上存储,最根本都是01组成的。 这里就不得不提到一个我们学习单片机必须要掌握的两个概念:位和字节。 我们刚才说的01就是位,也就是说,一个位不是0就是1,这就是刚才说的那些声音、图片等最终的存储方法。 8个位就是一个字节。字节就是为了计算方便和显示方便而故意搞出来的一个东西。由此还涉及到了BCD码、二进制、十六进制、十进制等概念和算法。 回到最初的那些奇葩问题 还是举栗子吧,像单片机这种实践课程,有了栗子才好理解。 英文传输:比如传输“hello”,hello每个字母对应的十六进制字节为:0x68 0x65 0x6c 0x6c 0x6F,那么,我们只需要把这几个字节传输过去,在那边再进行ascii与字母的转换,即可显示hello。 中文传输:比如传输“老顽童”,1个汉字对应的2个十六进制码,我们一般用gbk码。“老顽童”对应的gbk码字节为:0xc0 0xcf 0xcd 0xe7 0xcd 0xaf。我们只需要把这几个字节传输出去,在那边再进行gbk与十六进制的转换即可。 声音、图片、视频,文件都比较大,它们是由很多个字节组成的,并且按照一定的格式存储。例如前面的英文用的而是ascii码,中文用的是gbk码,这些都被称作“协议”。“协议”就是用来编码和解码的。声音也有很多“协议”,比如mp3格式,wma格式等等。比如图片有jpg,png,bmp等格式,比如视频有avi,mp4等格式。这些格式都有官方统一的协议规定,最终都是字节的排列方式不同。 所以,不管传输什么,都是在传输字节。我们一般以十六进制形式写出来一个字节,其实一个字节就是由8个位组成的。 关键的问题,就是在传输之前,你得知道你要传输的东西的协议,然后借助各种软件把这些要传输的东西转换成字节,然后就可以发送了。 介绍到这里,大家应该有了基本了解,希望大家在学习单片机的时候把基础知识把握好。

    单片机 数字世界 单片机

  • 单片机的I2C和SPI通信的含义

    单片机的I2C和SPI通信的含义

    I2C和SPI是两种不同的通信协议。 当我们听到这个协议时,它似乎是不可实现的。事实上,协议只是人们定义的一个标准。我们只需要按照这个标准去做。例如,如果公司说我们早上9点上班,我们9点上班,或者我们扣工资,这就是协议。 最常用的I2C通信芯片是EEPROM芯片,如ATMEL AT24CXX系列,除此之外还有该芯片的其他一些功能。使用SPI通信的芯片有外部闪存芯片,以及一些用于其他功能的芯片。 I2C通信需要两个引脚:SDA SCL。SCL是时钟引脚,SDA是数据引脚。 (这是一个EEPROM芯片。) (这是时钟芯片。) SPI通信需要3引脚或4引脚:CS SCK MOSI MISO。SPI通讯芯片销名字不一定是名字,可能有其他的名字,但意思是一样的,比如莫西人销手段“主机机器的输出输入”,SPI接口芯片可能SDI写的,就像SPI设备作为从机,所以它的SDI,这意味着“从机数据输入插口。 SPI通信过程如下:将CS引脚下拉,然后由SCK输出时钟,然后在MOSI引脚上输出数据,在MISO上获得数据。 这是一个SPI FLASH芯片,DO是MISO, DI是MOSI, CLK是SCK,功能相同,只是名字不同。 这是一个带有SPI接口的ADC芯片,Dout是MISO, DCLOCK是SCK,这个芯片有3个SPI引脚。 大多数MCU有I2C端口和SPI端口,可能有几个I2C端口和SPI端口。但是,没有I2C端口和SPI端口的单片机,也可以通过普通引脚来模拟它们的定时通信。 另外,如果你是一个初学者,一定要学会使用通用的pin模拟,以更深入地理解他们通信的本质。 整个通信过程实际上就是对引脚电平进行控制和检测的过程。也就是说,第一天学习控制单片机的引脚电平和检测单片机的引脚电平。因此,I2C通信和SPI通信并不困难。 让我告诉你一个简单的沟通过程。例如,我们将下面的通信名称称为KJLWT。这个名字看起来很有趣,但实际上是中文“technology old naughty boy”的首字母缩写。主要是让大家明白,这个名字是用来吓唬人的。 我们用两条线通信,一条时钟线和一条数据线。时钟线实际上是用来产生脉冲波形的,更直接的是引脚高低信号,如下图所示: (这是时钟信号) 例如,我们规定当时钟引脚高时,读取数据引脚的电平,并且需要8个连续的时钟来读取一个字节。在数据方面,如何给出数据呢?就像那样简单,数据馈送端,当一个低电平被检测到,表示数据在数据引脚上被发送的位。例如,数字0x88以二进制形式写入为10001000。让我们来看看传输这些数据的过程:从机器检测时钟针,检测到一个下降沿(即从高到低水平),数据发送的bit7体现数据大头针,比如bit7是1,1000年,1000年,数据销高水平,高水平的的主机时钟针,针测试数据,记录,从机器再次发现时钟的下降沿销后,和数据bit6反映了数据的别针,由于1000 1000 bit6是0,所以机器的数据确定,然后时钟引脚为高电平,主机检测数据引脚的高电平和低电平,然后记录位6…这样做八次,一个字节就可以从从机传送到主机。是容易的吗? 时钟的速度,也就是数据传输的速度,例如,如果脉冲周期是1秒,也就是1Hz,那么它需要8秒来传输一个字节;如果脉冲周期为1毫秒,即1 kHz,则输出一个字节只需要8毫秒。所以你知道交流的速度意味着什么,对吧? I2C通信,SPI通信,在我刚才展示的例子之上再多一点协议。对于特定的协议,您可以查看任何I2C和SPI通信接口芯片,并查看序列图。我们要做的就是利用单片机的引脚来进行计时。

    单片机 SPI I2C 单片机

  • 如何设置单片机STM32的引脚

    如何设置单片机STM32的引脚

    单片机 STM32 引脚 单片机

  • 如何用kiCad制作电路原理图

    如何用kiCad制作电路原理图

    3.绘制电路原理图 在本节中,我们将学习如何使用KiCad制作电路原理图。 3.1使用Eeschema 1. Windows操作系统运行KiCad。打开KiCad. Exe,在Linux操作系统的终端输入KiCad打开KiCad。打开后,您将看到KiCad主屏幕。在主界面中,您可以访问八个独立的子软件工具。它们是:Eeschema,原理图库编辑器,PCBNew, PCB足迹编辑器,GerbView, Bitmap2Component, PCB计算器和PL编辑器。参考“工作流程图”(KiCad入门的第2章),了解如何使用这些主要工具。 2.建立新工程步骤:File(文件) → New Project → New Project,给新工程取个名字:tutorial1(名字是自己定义的),工程文件会自动带.pro后缀。kicad会弹出窗口问你把文件放到什么地方,你最好新建一个文件夹,然后点击确定,工程文件就保存了,以后的所有文件也默认保存到这个目录里面。 3.现在就可以开始画原理图了,点击图标Eeschema ,这个图标位于左边的第一个。 4.在顶部工具栏,点击“Page Settings”图标 ,设置Page Size为A4,设置Title为Tutorial1,你可以看到,这里还有很多信息,如有需要,你可以修改它们,点击OK完成,这些信息位于原理图的右下角。把鼠标放到原理图的右下角,然后滑动鼠标的滚轮,就可以放大和缩小原理图,点击File → Save Schematic Project保存工程。 5.现在就可以放置我们的第一个元器件了,在右边的工具栏中,点击“Place component”图标 ,或者用快捷键,直接单击键盘上的字母a。 提示:按住shift+?键,可以浏览所有的快捷键使用方法。 6.接着前面的步骤,在原理图中点击一下,就可以打开“Choose Component”窗口,我们将放一个电阻到原理图。在Fliter栏里面,输入字母R,大小写都可以,然后你就可以看见所有以R开头的元件都列出来了。这些库元件位于本地,都是一些通用的元器件。 7.接着上一步骤,选择电阻R,单击OK,或者在R上双击,就可以看到一个电阻附着在鼠标上,然后你可以单击鼠标,把电阻放到原理图上去。 8.用放大镜图标,可以放大元器件,也可以滑动鼠标滚轮来放大和缩小,把鼠标放到电阻上边,然后按下鼠标滚轮,可以随意拖动电阻在原理图中的位置。 9.把鼠标放到电阻上边,然后按键盘上的R键,可以旋转电阻。 注意:不用单击元器件旋转它。(我的理解是,你不必把电阻附着在鼠标上,也可以用R来旋转它。) 10.在元器件上单击右键选择Edit Component → Value,或者把鼠标悬停在元器件上以后按V键,可以修改电阻的阻值。如果你打击了E键,将会出现更多的可以修改的值。在单击右键出现的菜单中,你可以了解到更多的快捷键用法和代表的意义。 11.接着上面的步骤,将会出现一个窗口,你一把R改为1K,代表电阻的阻值,然后点击OK,完成。 注意:不要修改R?,这里的问号,在画好原理图后,我们可以给他们统一自动修改。上面步骤完成以后,电阻中间的R应该变成了1K,如下图所示: 12.我们再放一个电阻,在原理图空白处单击鼠标,然后元器件选择窗口就会再次弹出来。 13.和之前不同的是,在窗口中多了一个“history”(历史),可以在这里选择电阻。如下图所示: 14.如果想要删除元件,在该元件上单击右键,然后选择Delete Component,也可以把鼠标悬浮到要删除的元件上边后按键盘上的DEL键删除元件。 注意:通过菜单Preferences → Hotkeys → Edit hotkeys你可以编辑任何一个快捷键,修改后立即生效。 15.如果你想复制一个元件,你可以把鼠标悬停到元件上以后,按下快捷键C,然后把复制出来的元件放到任何你想要放置的地方。 16.把鼠标悬停到第二个电阻上边,然后单击鼠标右键,选择“Drag Component”(拖动元件),选好位置后再点击鼠标左键放下。你可以把鼠标悬停到电阻上边以后按下按键G来实现同样的功能。按键R用来旋转元器件。按X键和Y键可以在X方向或者Y方向颠倒元器件。 17.把鼠标悬停到第二个电阻上边,然后按键V,把电阻值修改为100。按下Ctrl+Z键可以撤销之前的动作。 18.改变网格(grid)大小。你可以注意到现在在原理图上的网格间距还很大。单击右键,选择 Grid select(网格选择)菜单,可以很容易的修改网格的间距大小。通常情况下,我们强烈建议使用50mils网格间距。 19.按照之前的添加元件步骤,添加元器件PIC12C508A-I/SN。和之前不同的使是,这个元器不在device库里边,而位于microchip_pic12mcu库里边。默认情况下,元器件选择窗口中没有这个库,所以我们必须要先添加库。菜单栏选择Preferences → Component Libraries,然后点击“Add”(添加)按钮。找到microchip_pic12mcu库以后添加,然后找到PIC12C508A-I/SN器件并放到原理图中。 20.把鼠标悬停到元件PIC12C508A-I/SN上边,然后按X键或者Y键,可以观察元件的变化。按第二下X键或者第二下Y键,将返回按X键或者Y键之前的状态。 21.同上边的步骤,添加元件LED,该元件位于device库。 22.把原理图中的所有元器件摆放规整一下,结果如下图所示: 23.现在我们创建一个元件,起名为MYCONN3。关于如何制作元器件库,你可以看《Make Schematic Components in KiCad》。 24.按A键,在元器件选择窗口中选择我们刚刚制作好的MYCONN3元件,放到原理图中。 25.元件MYCONN3的标识符J?,如果你想改变它的位置,你可以在J?上边单击右键,然后选择Move Field,或者使用快捷键M。最好是先放大以后再操作比较好。如下图所示,摆放MYCONN3的J?。 26.现在是时候放电源和地的标志了,单击右边工具栏中的“Place a power port button”图标 ,或者使用快捷键P。在Power库中,找到VCC,点击OK。 27.在1K电阻的上边,放一个VCC,然后在单片机的VDD上边放一个VCC,然后在MYCONN3的上边也放一个VCC。 28.同上,把GND放到原理图中,最后的效果如下图所示: 29.下面,我们将使用右边工具栏的“Place wire”图标 ,把所有的元器件连接起来。 注意:不要选错图标,尤其是?Place a bus,两个图标很相似。 30.接着上边的步骤,在单片机的PIN7上的小圆圈上点击鼠标,然后在LED的PIN2的小圆圈上点击鼠标,这样,两个引脚就连在一起了。在操作之前,你最好先放大原理图。 注意:在连接好线以后,如果你想改变元器件在原理图中的位置,可以把鼠标悬停到该元器件以后按快捷键G,然后就可以移动了。它与快捷键M的区别是,G是连着线移动的,M是只移动元器件,线不动。 31.如下图所示,用线连接所有的元器件。双击鼠标可以结束一条线。 32.我们接下来来用网络标号来连接电子元器件之间的引脚。在右侧的工具栏中,点击“Place net name”图标 ,或则使用快捷键L。 33.在单片机PIN6的线中间点击一下,然后给这个网络标号起名为INPUT。 34.然后以同样的方式,给100欧电阻的右侧引脚上放置一个相同名称的网络标号,同样起名为INPUT。因为两个网络标号的名字相同,所以这两个网络标号把单片机的PIN6引脚和100欧电阻连接起来了。对于一个复杂的设计,尤其是当用线连接看起来非常杂乱的场合,用网络标号就会使得原理图看起来很清爽。 35.网络标号还可以用于说明某根线的用途。给单片机的PIN7脚上放一个网络标号,给它取名为uCtoLED。电阻和LED的中间放一个网络标号,取名为LEDtoR。给MYCONN3和连接它的电阻那根线之间放一个网络标号,起名为INPUTtoR。 36.你不需要给VCC和GND用网络标号标注,因为它们自己已经很清楚了。 37.最后的结果如下图所示: 38.现在让我们来处理没有连线的引脚。在自检的时候,所有未连接的引脚或线都会产生提醒。为避免这种情况的发生,我们可以给这些引脚或者线上边放上标志。 39.在右侧的工具栏里边,点击Place no connect flag图标 ,分别在单片机的PIN2,3,4,5上边点击一下,就会看到引脚上边有了X图标。如下图所示: 40.有些元器件的电源引脚是不可见的。你可以通过点击左侧工具栏中的Show hidden pins图标 让电源引脚显示出来。如果隐藏的电源引脚名称是VCC或者GND的话,这些引脚就会自动的连接,用不着我们操心。 41.现在,我们必须要放置Power Flag在KiCAD的原理图,来提示电源来自某个地方。点击快捷键A,在POWER库中找到PWR_FLAG,在原理图中放两个这标志。然后分别把它们和VCC GND连接起来,如下图所示: 注意:这个操作将避免一个经典的KICAD提醒:Warning Pin power_in not driven (Net xx) 42.有时候,我们需要给原理图的某些地方添加注释。给原理图添加注释,使用右侧工具栏的Place graphic text (comment)图标 。 43.现在,所有的元器件都有了自己的独有标识。实际上,我们的元器件的名称都还是R?或者J?,标记这些标识符,使用Annotate schematic图标 。 44.在弹出的原理图注释窗口中,选择Use the entire schematic?,然后点击?Annotation按钮,在弹出的确认信息窗口中点击OK。注意一下,所有的?都变成了数字。所有的标识符都是唯一的。在我们的这个例子中,它们的标识符分别是:R1, R2, IC1, D1 和 J1。 45.现在我们将检测一下原理图中有没有错误。点击Perform Electric Rules Check图标 ,点击Run按钮,如果有错误或者提醒的话,就会在窗口中输出,例如:某根线没有连接。正常情况,必须是0个错误,0个提醒。如果有错误或者提醒的话,在原理图中就会有小的绿色箭头指向出错的地方。选择Create ERC file report,然后再点击Run按钮,就可以得到更为详细的错误和提醒的信息。 46.原理图已经画完了。现在我们给每个元器件添加封装,然后再生成一个网络表。在顶部的工具栏中,点击Netlist generation图标 ,点击Generate按钮,然后再点击Save(保存)按钮,以默认的名称保存就可以。 47.网络表生成后,点击顶部工具栏的Run Cvpcb图标 ,如果这时候弹出来一个提示窗口提示你丢失了某个文件,不要管它,点击OK关掉。(注意:点击完Run Cvpcb图标之后,可能会等待较长时间,电脑才会反应过来,因为要加载很多封装,这时候,等着,不要瞎点,否则容易点死软件) 48.Cvpcb允许你通过使用KICAD中的封装链接到原理图中的元器件。中间区域显示原理图中用到的所有元器件。我们选择D1,在右侧区域我们找到?LEDs:LED-5MM,然后双击它,这样,就把这个封装给了D1了。 49.在右侧的区域,只会显示对应元器件可能需要的封装,Kicad试图给你推荐比较合适的封装。点击图标 ,和可以禁止或者允许这些过滤器的功能。 50.IC1对应的封装选择Housings_DIP:DIP-8_W7.62mm,J1对应的封装选择Connect:Banana_Jack_3Pin,R1和R2对应的封装选择?Discret:R1。 51.如果你想知道你选择的封装长什么样子,有两种办法可以看到。你可以单击View selected footprint图标 预览当前的封装。另外,你可以点击Display footprint list documentation图标,然后,你可以看到包含了所有可用封装的PDF文件。你可以把这个文件打印出来,确保用到的封装尺寸正确。 52.现在,你可以更新网络表了,这次的网络表,元器件和封装就关联起来了。点击File → Save Edits,或者点击图标 保存更新网络表。如果你在已有的封装库中找不到需要的封装,你将需要自己做封装,这个在以后的文章中会写到。 53.你现在就可以管了Cvpcb,然后回到原理图编辑器。在菜单栏选择File → Save Schematic Project保存文件,然后关闭原理图编辑器。 54.切换到Kicad工程文件管理器。 55.网络表文件描述了所有的元器件和它们引脚直接的连接关系。网络表文件实际上就是一个文本文件,你可以检查和编辑它,还可以把它当做脚本。 注意:库文件(.lib)实际上也是文本文件,也可以编辑或者脚本化。 56. 创建物料清单(BOM)。打开schematic编辑器并单击顶部的Bill of Materials图标 BOM图标,首次使用,默认无插件。要添加插件,单击Add Plugin按钮并选择*。要选择的XSL文件。在本例中,我们选择bom2cv .xsl。 注:*。xsl文件位于…\ Kicad \ Bin \ Scripting \ Plugins文件夹。 KiCad会自动生成如下命令: Xsltproc-o "% o" "C: Program Files\ Kicad \ Bin \ Scripting \ Plugins \ Bom2CSV。XSL %我” 让我们为这个命令添加一个后缀: Xsltproc-o "% o.csv" "C: Program Files\ Kicad \ Bin \ Scripting \ Plugins \ Bom2CSv。xsl %我” 单击“帮助”按钮获取更多信息。 57. 现在单击Generate生成BOM表,单击Close关闭。BOM表的文件名在project文件夹中,与您的项目名相同。您可以使用Excel等办公软件打开。

    单片机 电路原理图 kiCad

  • 单片机串口如何接收不定长数据的?

    单片机串口如何接收不定长数据的?

    我们在使用其他STM32的单片机的时候,会发现有些困难,会发现常用的方法并不能用,在还没有接收完数据的时候,就解决不了。于是,只能用通用的方法来解决了。 这个通用的方法,其实原理和使用IDLE的原理一样:接收完一个字节以后,如果超过了一定的时间,就认为是接收完一帧数据了。首先我们要知道,串口是接收一个字节,就会发生一次中断,如果一帧数据包含10个字节,就会发生10次中断。在接收一个字节以后,会紧跟着接收下一个字节,如果时间超了一定值,就代表一帧数据已经发完了。 下面,我分别用STM32和51单片机的代码来演示一下这个通用代码的实现。 1、STM32(以STM32L0系列为例) 串口中断函数: 2、51单片机(以STC8系列为例) 串口中断函数: void UART1_Isr() interrupt 4 // 串口中断服务函数 { if(RI) // 如果接收到一个字节 { RI = 0; // 中断标志位清0 Res_Buf[Res_Count++]=SBUF; // 把数据保存到接收数组 Res_Sign=1; // 表示已经接收到数据 Res_Times=0; // 延时计数器清0 } } 3、在主函数中处理串口数据 if(Res_Sign==1) // 如果串口接收到数据 { //延时等待接收完一帧数据 do{ Res_Times++; // 延时计数器+1 HAL_Delay(1); // 延时1ms }while(Res_Times<5); // 5ms时间到 //////////// //这里就可以处理接收数据了 //////////// Res_Sign=0; // 接收标志清0 Res_Count=0; // 接收数据字节计数器清0 } 4、程序解释 程序里面有4个全局变量,分别是: unsigned char Res_Buf[256]; //接收数据的数组,用来接收串口数据 unsigned char Res_Count=0; //接收数据的字节计数器,表示本次一帧数据包含几个字节 unsigned char Res_Sign=0; //接收到数据标志,接收到1个字节就会置1 unsigned char Res_Times=0; // 延时计数器,用来判断有没有接收完一帧数据 在串口中断函数里面,每接收到一个字节,就会把接收到的字节保存到Res_Buf数组中,同时,字节计数器+1。然后把Res_Sign置1,表示已经接收到串口数据,但是,有没有接收完,是不一定的。在主函数当中,发现这个变量等于1了,就开始启动延时计数Res_Times,让这个变量++,只要延时到了5ms,就表示接收完一帧数据,退出do while后就可以开始处理数据了,但是,当接收到第二个字节以后,会在中断函数里面把Res_Times清0,也就是说,主函数里面的Res_Times++以后,白加了,只要有数据还没有接收完,这个Res_Times就会一直清0,如果串口接收能接收一万年也接收不完一帧数据,那一万年,Res_Times也到不了5。只有当再也没有串口数据过来了,Res_Times才会加到5,然后退出do while,表示接收完一帧数据了,可以开始处理了。 上面的方法,适合所有的单片机。方法好不好,主要看自身产品的需求,适合就好,不适合就不好。方法有多种,根据你的需求调整到最好,就可以。

    单片机 串口 单片机

  • 如何利用锂电池电压测量电路

    如何利用锂电池电压测量电路

    如今物联网发展越来越好,单片机和锂电池组合已经越来越普遍,生产单片机的商家当让不会放过此商机,不断推出随物联网发展的单片机。 首先带大家了解一下什么是锂电池: 锂电池在充满电的时候,是4.2V;在用完电的时候,不是0V,而是2.7V左右,每个厂家制作的锂电池,略有差异… 鉴于锂电池材料的局限性,电压超过4.2V,会发生危险,比如燃烧;电压低于2.7V左右,会造成无法再次充电,总之… 锂电池电压过高和过低,都会造成永久损坏,所以… 我们的产品在使用锂电池的时候,需要时刻监测锂电池电压。 充电的时候,不要超过4.2V,这个要求,需要产品中加入充电管理芯片,充电管理芯片会自动在4.2V的时候切断充电。 放电的时候,也就是产品在正常使用的时候,不要让锂电池电压低于2.7V,比如,在2.7V的时候,自动强制关机。 那么,锂电池电压监测电路应该怎么设计呢? 如上图所示,应该是初学者最先想到的办法。不过,仔细分析后会发现,有大问题,我们来分析一下··· VBAT连接到锂电池正极,通过两个电阻分压,连接到单片机的ADC引脚。ADC测到的电压,就是锂电池电压的一半··· 因为锂电池的电压范围大概在2.7V到4.2V之间,所以ADC引脚的电压会在1.35~2.1V之间,不会超过普通单片机的3.3V电压,看起来很合理,不过··· 当产品处于关机状态时,我们以为锂电池就不耗电了,其实,通过电路可以发现,锂电池其实还在通过2个10k的电阻耗电··· 随着时间的推移,该产品放着放着电就减少了,而且当电池电压减少到2.7V以下时,就可能无法充起电来了··· 我在国外的一款产品上,看到了这样的一个电路,当然,已经把它使用到我的产品当中 上面电路,很巧妙的解决了这个问题,代价是电路板上多了1个MOS管和2个电阻,CTRL引脚是单片机的一个普通引脚,在单片机断电的时候,要求是高阻态,否则也会耗电··· 这里加MOS管并不是用来控制“是否要测量电池电压”,而是为了在产品关机的时候,不要让锂电池电池的电压通过两个分压电阻。 此时,还有个问题要解决··· 产品在正常使用的过程中,当电池电压小于3.3V时,LDO的输出电压,就不再是3.3V了,随着电池电压的减小,LDO的输出电压也会减小,此时… 如果一直使用3.3V作为基准来测量电池电压,就会出现错误,所以… 需要使用有基准电压引脚的单片机,或者有“内部参考电压”+“内部测量通道”功能的单片机··· 用基准电压引脚计算电池电压,这个大家都清楚,我重点说一下“内部参考电压”+“内部测量通道”这个功能。 简单来说,有了“内部参考电压”+“内部测量通道”之后,我们就可以直接通过内部测量通道得到精确的VDD电压,而不必使用基准电压芯片了,毕竟··· 基准电压芯片也挺贵的,还得在电路板上占个地方,以及多几分钱的焊接费用··· 下面,我们以STC8G系列单片机为例来说一下。 STC8G的ADC第15通道,用来测量内部参考电压源,内部参考电压为1.19V,通过测量它的值,反推出VDD值。 如上图的代码,会获得真实的VDDA值,最终会计算出单位是毫伏真实的电池电压。

    单片机 锂电池 电路

  • 华为智慧养猪方案引业界哗然,能否发挥5G技术领先优势?

    华为智慧养猪方案引业界哗然,能否发挥5G技术领先优势?

    众所周知,华为第一大业务--手机业务萎缩已是必然,为此它正积极拓展新业务。生猪养殖业真香,连电信巨头华为都想进去分一杯羹了。近日,华为机器视觉领域总裁段爱国在微头条爆料称,华为机器视觉推出了智慧养猪方案。养殖业的发展方向是数字化、智能化和无人化。近年来,猪宝宝的身价一波三折,从原来的7~15元每斤,直愣愣地涨到了20~40元每斤。 华为的这则新闻,引起了很多业界人士的注意:推出智慧养猪计划。众所周知,华为通过近40年的努力已积累了雄厚的技术优势,在5G、云计算、芯片等方面都打下了扎实的基础,智慧养猪方案正是它试图集合这项技术推出的新业务。 一项新技术除了要有足够的技术优势之外,还需要考虑成本问题,在以往的诸多案例中都说明了成本对技术推广的决定性影响,而华为在5G技术上的核心技术优势毫无疑问,影响华为智慧养猪方案的主要还是成本问题。 目前,华为所依赖的“全球供应链系统”遭到了挑战,但华为官方此前披露的数据,2020年前三季度,华为实现销售收入6713亿元人民币,同比增长9.9%,净利润率8.0%。 5G网络建设的成本极为昂贵,正是由于建网成本高昂,导致当前的5G流量价格难以下降,以致于当下的5G用户发展进度远低于当年的4G,对于华为结合5G技术的智慧养猪方案,成本恰恰是它的最大问题。 华为云将成为“智慧养猪”解决方案架构重要组成部分。 据了解,这套养猪系统提供仪表盘监控、大数据分析、数字化管理,支持AI识别、AI学习、AI预测、AI决策等等,还通过标准化、程序化,实现全感知监控、机器人巡检和自动/远程控制。华为此次智慧养猪方案,是国家农业部的战略协议之一,后续华为还将利用自己的技术在其它领域展开智慧养殖,为养殖业带来新的变革。 网易在互联网养猪方面更是走在前面,网易是国内科技企业中最先介入养猪业的企业,在理论与实际结合方面走在华为前面。华为认为,未来数据是现代养猪的核心要素,更是养猪智能升级的核心驱动力。从以前以“人管”为主到未来以“数据管”猪场为主,在数据管理猪场的过程中再运用AI技术做更多的科学决策,从而实现养猪的标准化和程序化。 可以说撇开5G技术的话,华为的智慧养猪方案并无太大的技术领先优势,阿里巴巴、网易等各有自己的技术优势,华为要在养猪业推广它的应用技术并不容易。 华为希望结合工业无线控制网络、工业光环网、云计算等ICT技术与煤炭技术,帮助煤炭行业进行数字化、智能化转型,实现“少人、安全、增效”的生产模式,让煤矿工人可以“穿西装打领带”地工作。同时,实验室还将为全球矿业智能化发展探索方向。 此前,任正非表示,“如果我考不上大学,养猪可能也是养猪状元。我认为自己做什么事都很认真,无论哪件事都可以做好。”大佬们对“养猪”的热情不减,前有丁磊、马云、刘强东,如今再有任正非!小伙伴们,你们如何看待大佬们纷纷入手养猪事业呢?

    单片机 华为 智慧养猪.5G

  • 三星Exynos PC处理器究竟能否与苹果M1一战?三星Q4发布Exynos PC处理器

    三星Exynos PC处理器究竟能否与苹果M1一战?三星Q4发布Exynos PC处理器

    众所周知,苹果发布第一款用于Mac的自研电脑芯片M1,在市场上反响出色。当然其它各家芯片厂商自然不会无动于衷,尤其是三星。 据悉,三星在CES 2021上正式亮相了传闻已久的自家的顶级旗舰5nm手机芯片——Exynos2100。三星也是赶在了三星Galaxy S21系列发布会之前正式亮相了这款自研处理器。 今日,据媒体wccftech报道,三星有望在今年第四季度发布Exynos PC处理器,该处理器将基于三星最新发布的Exynos 2100设计,或采用5nm制程工艺打造。 据了解,三星Exynos 2100采用三星最新的5nm EUV工艺打造,搭载1颗主频为2.9GHz的Cortex-X1超大核心,同时辅以3颗2.8GHz A78大核及4颗2.2GHz A55小核。 该芯片是三星首款采用集成5G调制解调器的旗舰芯片,也是三星继2020年末推出的Exynos 1080之后的第二个5nm芯片组。这款芯片和高通骁龙888一样,同为5nm制程工艺。和前代的7nm相比,功耗降低20%,整体性能提升10%,AI计算功耗降低一半。 通常情况下,安卓旗舰机目前只能支持8K 30FPS的视频录制,而且持续时间很短,而2021年年底到来的新Exynos SoC可以将视频录制支持提升到8K 60FPS。除了8K视频录制,新的Exynos SoC还将允许录制4K 120FPS视频。 GPU使用具有14个内核的新型Mali-G78设计,其性能提高了40%。三核NPU采用了新的架构,达到了26 TOPS(每秒26万亿次操作)。与前几代产品相比,新设计将电源效率提高了一倍。 三星Exynos 2100是首款具有集成5G调制解调器的旗舰Exynos。980和1080也集成了调制解调器,但它们是中高端产品。该调制解调器可以在mmWave网络上实现7.35 Gbps的下行链路速度,在6级以下网络上可以达到5.1 Gbps,与Exynos 990相匹配。 据悉,这款处理器将会是骁龙8cx与8cx Gen 2的升级产品,通过测试系统数据发现,骁龙SC8280 PC处理器将配备8个以上的内核,尺寸为20x17毫米。 通常情况下,主摄像头都会提供8K 60FPS的视频录制支持,但爆料人给大家带来了一个极好的消息。他提到,即将推出的旗舰级Exynos处理器还将支持长焦和超广角传感器的8K视频录制,以提供多样化的智能手机摄像体验。不仅如此,还将增加4K120FPS选项。 从即将发布的Exynos 2100的名字来看,我们猜测 "9855 "可能是新处理器的代号,而它的正式名称可能是其他的名字。毫无疑问,三星正在对其即将推出的处理器进行各种功能测试。 值得注意的是,早在2019年,三星就与AMD正式达成多年期战略合作,双方将在超低功耗、图像处理等领域求得更多的发展。 目前尚不知道其核心配置会是如何,是否会采用英特尔第十一代酷睿超低压处理器非常值得期待,相较于低压处理器,超低压处理器TDP为7-15W,更加适合机身紧凑的产品,而且性能上也非常给力。与Galaxy系列手机一样,Galaxy Book的定位属于高端,之前的产品在颜值上真的都非常高,Galaxy Book Flex和Ion还引入了QLED屏幕,在屏幕亮度上更加出色,当然其价格相较于一般的轻薄本也是高上不少,所以这款Galaxy Book Go尽管定位比较低,但售价预计也不会太低。 最后,关于三星这颗Exynos PC处理器是否如苹果一样反响出色呢?让我们持续关注并拭目以待!

    单片机 三星 苹果 Exynos

  • 国产芯片实现重大突破!全球首款RISC-V AI单板计算机全新发布

    国产芯片实现重大突破!全球首款RISC-V AI单板计算机全新发布

    1月13日消息,RISC-V 处理器供应商赛昉科技在上海召开新品发布会,发布了2021年首款重磅产品——星光AI单板计算机(Beagle-V),这是全球首款基于Linux操作系统的 RISC-V AI 单板计算机。 RISC-V指令集从2014年正式发布第一版用户手册时面临多方质疑,到后来成为印度国家指令集,再到今年国内发布首个RISC-V支持政策。经过短短几年时间,RISC-V不仅有政策的支持,企业和学术圈对这个开源指令集的关注度不断提高,甚至让Arm也感受到了压力。随着RISC-V商业落地的向前推进,业界也充满了期待,但是从指令集设计到最终的应用,我们对RISC-V或许有些误解。 RISC-V要从2010年说起,当时加州大学伯克利分校的一个研究团队准备启动一个新项目,为新项目选架构的时候研究团队看到了Arm、MIPS、SPARC和x86等,但这些指令集不仅越来越复杂,还有很多IP法律问题。 星光搭载了惊鸿7100系列视觉处理芯片。该芯片是全球首款基于 RISC-V 的人工智能视觉处理芯片,拥有四个物理核心和2MB的共享型二级缓存,频率可达 1.5GHz,支持Linux操作系统。 众所周知,RISC是一种精简指令处理器,其起源于美国加州大学伯克利分校的EECS部门的计算机科学部门的dDavid Patterson教授及其团队的一项课题研究的产物。RISC-V之所以取名RISC-V,主要是因为David Patterson教授在此之前已经研制了四代精简指令处理器芯片。 随后,很快在2018年,赛昉科技就正式成立了,开始了基于RISC-V架构的内核设计。 特别是在2019年,华为被美国列入实体清单之后,由于有研发中心在美国,导致了ARM在当时也不得不遵循美国禁令,对华为进行了断供。由此进一步引发了国内芯片行业对于开源的RISC-V架构的追捧。 2020年12月,赛昉科技又发布全球性能最高的基于RISC-V的处理器内核——天枢系列处理器。 随着RISC-V逐渐在半导体产业掀起波澜,谷歌、英伟达、高通、AMD、IBM、华为等巨头都已经加入了RISC-V基金会,有一些Arm的用户已经开始接触RISC-V有一两年时间,一旦有其中一家公司推出能效和成本更低的RISC-V芯片,其竞争对手也会迅速跟进,这对于RISC-V指令集不仅是种认可,也将有利于RISC-V与Arm的竞争。 然而,RISC-V架构离落地和成熟还有较长的距离,其实用性和商业价值也尚未得到验证。不管是已经拥有成熟芯片设计经验的老玩家,还是迫不及待入局的新玩家,都在不断尝试创新研发,以共同促进RISC-V生态的发展。 即便是在新的IoT和AI市场,RISC-V想要占据优势也并非一家企业可以实现的,而是要一个完整的系统,这需要五年甚至十年,但我自己非常有信心。对于目前的RISC-V市场,还没有到需要彼此激烈竞争的阶段,而是更应该共同把生态做大。仅组建联盟而没有拿出实际的产品也不是发展和壮大RISC-V好的方式,更多的应该是拿出实际的产品以及进行实质的合作,进一步能为RISC-V的生态做一些贡献。 总而言之,愿未来赛昉科技将通过更多的自主创新和协同创新,实现基于RISC-V的技术突破,通过不断完善生态,走向更广阔的市场,促进我们国家尽快提升高端芯片自主化能力,助力中国半导体行业的腾飞。 让我们共同期待吧!

    单片机 RISC-V CPU处理器

  • 120Hz全感屏!iQOO 7全新发布:手感体验俱佳

    120Hz全感屏!iQOO 7全新发布:手感体验俱佳

    2021年即将开启,您是否想要购买一台新的手机呢?iQOO 7作为iQOO 2021年首款旗舰给你不一样的惊喜,敬请关注! 1月11日晚上,iQOO举行新品发布会,正式发布新机iQOO 7。 这款期待多时的手机搭载骁龙888处理器,支持120W超级闪充,屏幕刷新率达120Hz。 iQOO 7作为iQOO 2021年首款旗舰,在硬件参数上实现了全方位升级,不仅配备了骁龙888移动平台,还采用了横屏双路线性马达,在游戏过程中可以提供更真实的振感反馈。 据官方介绍,iQOO 7选用航海铝作为中框材料,相比传统铝合金材质,具有更好抗腐蚀性和韧性。除此之外,iQOO 7 的玻璃背盖采用全新AG工艺,手感更出色。 屏幕方面,iQOO 7采用120Hz全感屏,高达1000Hz瞬时触控采样率+300Hz触控报点率,触控延时相比上一代产品缩短达25.8%。更支持四种刷新率应用场景,最高1300尼特亮度与4096级明暗亮度调整,无论户外还是弱光,视觉同样细腻舒适,配合SGS低蓝光、低拖影认证,与HDR10+的⾼动态范围认证。 iQOO 7全系标配120W FlashCharge闪充技术,至快15分钟充至100%。同时iQOO 7标配120W充电器,兼容支持65W PD 协议,并配备1.5米充电线。 同时,iQOO 7还带来了硬件级2048级背光,并通过软件算法使其增加到了4096级调节档位,可进行精细调节。尤其在屏幕低亮度下,可以带来更为精准的调节。 在玩家们关注的游戏场景中,iQOO 7带来了超级触控加速,即1000Hz瞬时触控采样率和300Hz触控报点率。 iQOO 7还拥有全感操控系统,配备屏下双控压感、双路线性马达、双扬声器组成全感操控系统,从操作、振感、听觉全方位强化游戏体验。 性能方面,iQOO 7搭载强悍性能铁三角:⾼通骁⻰888+增强版LPDDR5+增强版UFS 3.1+Multi-Turbo 5.0。 核心配置方面,iQOO 7搭载了强悍的性能铁三角组合:通骁888+增强版LPDDR5内存+增强版UFS 3.1闪存。同小米11一样,增强版LPDDR5内存最大支持6400Mbps传输速率。增强版 UFS 3.1闪存可以达到117.3%的随机写入速度,2GB文件拷贝仅需10秒! 拍照方面,iQOO 7前置1600万像素自拍镜头,后置搭载的是4800万像素索尼IMX598主摄,支持OIS防抖以及20倍数码变焦功能;1300万像素超广角微距镜头带来了120度超视野,以及1300 万像素人像镜头,共三摄组合。iQOO 7还提供了视频专业模式、全新超级夜景算法、光夜视 2.0、照修复等功能。 此外,iQOO 7还成为KPL官方比赛用机,其通过与虎牙、快手合作,解决了直播时耳机听不到游戏声音的问题,并实现多应用同时录音,主播游戏语聊和直播两不误,同时新机还带来了全新的游戏魔盒,以及更强性能的Monster模式,强悍进一步升级。 说到最后,您是否心动了吗?感兴趣的可以入手,毕竟性能还是不错的。

    单片机 智能手机 7 iQOO

  • 小米米家智能墙壁插座开启新品众筹:49元包邮

    小米米家智能墙壁插座开启新品众筹:49元包邮

    近年来,智能科技产品越来越受欢迎,各大手机厂商也纷纷加入其中。 1月11日消息,米家智能墙壁插座将于 1 月 13 日早 10 点在小米商城开启新品众筹,众筹价 49 元(包邮)。 据官方表示,小米米家智能墙壁插座可以直接替换传统插座,实现全屋智能。 小米米家智能墙壁插由小爱同学语音控制,可远程操控。 还具备小爱语音控制、电量统计、智能联动、OTA升级等特色。 在智能插座未面市之前,家中电气设备大多用插线板为其提供电源,特别是墙插不够的情况更是如此,单个可移动插座由于和墙插功能重叠、扩展性不够,基本上没有市场, 不过,随着智能化大潮,带火了单个可移动插座,有了智能功能,非智能电器能秒变智能,手机端就能远程管理电器设备,出门在外,无需为家中电器忘关而担心;有的还有USB接口,一个插座能给多个设备供电;有的还有用电统计,各个电器用电情况了如指掌;有的还能AI语音互动,开关电器就是一句话的事。 聊到智能插座必然绕不开小米,2015年小米第一款智能插座诞生,到现在已有好几款可移动智能插座服务于千家万户,归纳起来可移动的米家智能插座可分为三类(按接入方式):WiFi连接、ZigBee版和蓝牙网关版。 无论是智能插座还是非智能插座个头越小使用场景更广泛,这里说的广泛,主要指插座与插座之间不打架,特别是在86型五孔墙插上,如果智能插座个头太大,墙插的两孔必然浪费。 打开米家APP即可按照需求设置开关时间,随心设置:定时开关和倒计时开关。也可远程控制开关,冬天夜晚:下班路上打开电热毯开关,到家即可享受暖暖的被窝,免去等待的时间。 此外,值得一提的是,用户可通过米家App远程监控插在米家智能插座蓝牙网关版上的家用电器。还可以远程开关电器,方便生活的同时避免用电安全隐患。同时,米家智能插座蓝牙网关版可配合搭载“小爱同学”的智能语音设备使用,实现语音控制家电开关。 同时它还具备OTA能力,持续地改善升级,让你的智能插座越来越聪明。 简单地说,只要是传统电器且这些电器功率不超过米家智能插座的最大负载,米家智能插座都有用武之地,都能低成本实现智能生活,借助网关、小爱同学、人体传感器、门窗传感器、温湿度计、智能门锁会有更多智能场景。 同样地传统电视、机顶盒搭配米家智能插座也能实现智能化操作,在电视、机顶盒这一块,有的还有音箱等其它影音设备,怎样实现智能化呢?简单啊,一个米家智能插座统统帮你搞定,墙插上用一个不带USB接口的米家智能插座,后面再用一个普通插线板就行,这里推荐搭配米家无线开关使用,一键打开或关闭电视、机顶盒、音箱的功能,关键是这些电器能完全断电,没有待机功耗,还节能。 这样的米家智能墙壁插你爱了吗?

    单片机 小米 智能插座

  • 硬菜神器上新!米家智能电压力锅2.5L全新上市

    硬菜神器上新!米家智能电压力锅2.5L全新上市

    随着人们生活水平的提高,人们对生活品质的要求已经不低了。对于健康来说,安全饮食很重要,人们不仅仅满足于吃得饱、口感好,更要求健康美味。说起高压锅,大家并不陌生,尤其对于90后,压力锅更是邻里院中必备。高压锅成为了人们美食记忆里的一部分,但遗憾的是,以前的高压锅操作复杂,不安全,大家普遍有些担心。传统压力锅和电饭煲做出来的食物不安全也差强人意,那么智能电饭煲和电压力锅该选哪一种呢? 电压力锅是传统高压锅和电饭锅的升级换代产品,它结合了压力锅和电饭锅的优点,采用弹性压力控制,动态密封,外旋盖、位移可调控电开关等新技术、新结构,全密封烹调、压力连续可调,彻底解决了压力锅的安全问题,解除了普通压力锅困扰消费者多年的安全隐患 小米方面12月21日宣布,米家智能电压力锅 2.5L 现已上线,将于 12 月 23 日 10 点在小米商城/小米之家新品开启众筹,零售价 299 元,众筹价 279 元。 这款产品采用了比较少见的2.5L迷你容量,也足够煮8碗米饭或3人份的肉菜了,无论是一人食还是小家庭使用都能游刃有余。 据介绍,米家智能电压力锅 2.5L 无论是煮饭还是炖肉都可以胜任,拥有 2.5 升的容量,锅身相当于家用餐盘大小(体积仅 241 x 231 x 267mm),能煮 1-8 碗米饭或 2 斤牛肉,可满足 1~3 人需求,支持 APP 智能食谱和多项安全保护。 米家智能电压力锅 2.5L是一款体积小、功能多、烹饪肉类效果好的智能硬菜神器。这款产品目前正在小米商城/小米之家众筹中,众筹价仅售279元。 米家智能电压力锅2.5L的操作与主流电压力锅没有太大区别,上手门槛低,年轻人自然会摆弄,即使是家里老人使用也不会有太大难度,这里主要说下我个人认为值得说的特色功能。 米家智能电压力锅2.5L仅配带了一个“烈焰精釜”锅,按照小米官方说法,该锅采用5层厚质内胆,烹饪过程中受热均匀、导热良好,同时表面喷涂高品质大金PFA粉体涂层,在实现良好不粘性的同时具有优异的耐用性。 米家智能电压力锅2.5L整体非常小巧,占地面积比一个普通餐盘还要小一点,特别容易收纳,也容易摆放;包装除了压力锅和使用说明书外,还附贴心的附赠了一个饭勺、一个粥勺及一个量杯。 首次使用米家智能电压力锅建议先联网接入米家,这样可以用手机实现智能控制,当然不联网也可以当正常的压力锅使用。联网步骤非常的简单,打开米家APP会自动弹出接入弹窗,点击绑定,按照提示即可轻松接入~ 你是否还在用老式的高压锅?传统高压锅不仅噪声大,还有极大的安全隐患,为了家人们的健康,一款功能性强、安全性高的电压力锅已成为必需品,而米家智能电压力锅更凭借功能和技术成为电压力锅中的佼佼者。 这款电压力锅的滑杆开关荣获IF设计大奖,锅里的饭菜好了,只要轻轻一滑就可开锅食用。而且进口的大金不沾层使锅耐用易清洁,含铜的外图层也能均匀传导热量。这么好的一款电压力锅,机不可失失不再来哦。 怎么样?心动了吗?米家智能电压力锅2.5L是不是一款硬菜神器?它按照年轻人的需求对电压力锅重新设计,颜值上走上简约路线,容量上追求小而精。

    单片机 小米 电压力锅

  • 小米微博正式宣布:旗下第一款智能手表“小方屏”明日登场

    小米微博正式宣布:旗下第一款智能手表“小方屏”明日登场

    众所周知,近年来,智能手表市场被越来越多的厂商盯着,尤其是手机厂商,大家都希望能够分得一块蛋糕。小米也不例外。 根据IDC公布的数据,去年全球智能手表出货量同比增长22.7%,达到了9240万块,其中单是Apple Watch的销量就达到了3000万块以上,超越所有传统瑞士手表品牌全年出货量,智能手表市场的潜力依然很大。 今天,Redmi宣布将于明天发布Redmi小方屏。 目前红米品牌尚未推出过智能手表产品,那么这款Redmi“小方屏”应该就是它的第一款智能手表。在预热海报上,“再见‘大笨钟’”字样十分醒目,这大概是指Redmi“小方屏”的卖点在于轻巧。此外,“小方屏”的字面意思就更明显了,一是尺寸“斜,二是“方屏”样式。 从海报不难看出,这次Redmi将带来旗下第一款智能手表,“小方屏”表面Redmi Watch将采用方形表盘设计,“再见‘大本钟’”的宣传语表明这款产品将会主打轻薄机身,不给用户手部带来多余的负重影响。 前段时间,FCC曾发现一款名为REDMIWT02的智能手表,这款产品应该就是即将登场的Redmi Watch。如图所示,Redmi Watch采用方形表盘设计,机身右侧有一枚实体按键,表带应该是橡胶材质的。就实际观感来看,圆形表盘更贴近传统手表的设计,在外观设计方面更容易被大众接受,棱角分明的方形表盘虽然兼容性好,但是在设计上确实略逊一筹。 之前FCC曾发现一款名为REDMIWT02的智能手表,它应该就是即将登场的Redmi小方屏。 FCC给出的信息显示,Redmi智能手表屏幕尺寸为1.41英寸,内置GPS,支持防水、24小时心率监测,电池容量为230mAh,支持蓝牙5.1,可与Android 4.4或iOS 10及以上版本设备配对。 设计方面,官方定义为BASIC基础型产品,整机重量仅有35g,佩戴近乎无感,配色方面更加青春活泼,全新引入莫兰迪色系,表身可选典雅黑、象牙白、水墨蓝,表带还有樱花粉、松针绿。 北欧风的极简设计语言,包括2.5D弧面玻璃面板、哑光质感表身、金属质感按键,搭配亲肤TPU材质的表带,热弯工艺处理,贴合手腕曲率,卡扣可拆卸。 1.4英寸的方形显示屏,像素密度达323PPI,表盘数量超过20个,包括经典简约、超酷IP、独立设计等。 它采用120Hz LCD屏,搭载高通骁龙750G处理器,后置主摄为一亿像素,其中骁龙750G、一亿像素Sensor为Redmi首发。 而经过开箱体验后,我们不经感慨,Redmi Watch 小方屏才是米粉们心中真正想要的那块表。 在简单开盒,完成扫码绑定后,Redmi Watch 小方屏表盘在正式点亮的一刹那,屏幕的色彩丰富度和画质的细腻度还是让人眼前一亮。虽然 Redmi Watch 小方屏采用的是一块 1.4 英寸 LCD 屏幕,在 320*320 分辨率下,屏幕像素密度还是做到了 323ppi。这种在小尺寸屏幕上堆加像素密度的方式,的确会带来观感上的大不同。 那么,最后,总的来说,总的来看,Redmi Watch 小方屏不失为一款适合米粉的高性价比产品。

    单片机 智能手表 Redmi手表

首页  上一页  1 2 3 4 5 6 7 8 9 10 下一页 尾页
发布文章