您当前的位置:首页 > 美文欣赏 > 内容

柠檬的吃法有哪些,柠檬正确吃法(SPI协议详解)

关于【柠檬的吃法有哪些】,柠檬正确吃法,今天犇犇小编给您分享一下,如果对您有所帮助别忘了关注本站哦。

内容导航:1、SPI协议详解2、柠檬的吃法有哪些:柠檬正确吃法

1、SPI协议详解

 SPI(Serial peripheral interface)即串行外围设备接口,是由Motorola首先在其MC68HCxx系列单片机上定义的,基于高速全双工总线的通讯协议。(又是高速,而且全双工,确实强大)被广泛应用于ADC、LCD等设备与MCU之间。

  跟前面学习I2C、USART一样,学习一种协议,还是从两个层面分析:物理层和协议层。

1. SPI物理层

SPI通讯需要使用4条线:3条总线和1条片选

柠檬的吃法有哪些,柠檬正确吃法(SPI协议详解)

图1

  SPI还是遵循主从模式,3条总线分别是SCK、MOSI和MISO,片选线为nSS(低电平有效),SPI协议适用于一主多从的工作场景:

柠檬的吃法有哪些,柠檬正确吃法(SPI协议详解)

图2

(1) nSS(Slave Select):片选信号线,用于选中SPI从设备。每个从设备独立拥有这条nSS信号线,占据主机的一个引脚。设备的其他总线是并联到SPI主机的,即无论多少个从设备,都共同使用这3条总线。当从设备上的nSS引脚被置拉低时表明该从设备被主机选中。

(2) SCK(Serial Clock):时钟信号线,通讯数据同步用。时钟信号由通讯主机产生,它决定了SPI的通讯速率。

(3) MOSI(Master Ouput Slave Input):主机(数据)输出/从设备(数据)输入引脚,即这条信号线上传输从主机到从机的数据。

(4) MISO(Master Input Slave Ouput):主机(数据)输入/从设备(数据)输出引脚,即这条信号线上传输从机从到主机的数据主从机通过两条信号线来传输数据,那么自然是全双工通讯的了。之前的I2C通讯,数据只在一条SDA线上传输,主从机数据交互只能采用半双工。

2. SPI协议层

柠檬的吃法有哪些,柠檬正确吃法(SPI协议详解)

图3

  如上为SPI通讯时序图,nSS、SCK、MOSI信号均由主机产生,MISO信号由从机产生。在nSS为低电平的前提下,MOSI和MISO信号才有效,在每个时钟周期MOSI和MISO传输一位数据。

跟I2C通讯类似,SPI通讯也需要通讯的起始/结束信号,有效数据和同步时钟。

2.1 通讯的起始/结束信号

  图中的nSS信号由高电平变为低电平即为SPI通讯的起始信号,反过来,nSS信号由低电平变为高电平即为SPI通讯的结束信号。这个可比I2C简单得多吧。当从机检测到自身的nSS引脚被拉低时就知道自己被主机选中,准备和主机进行通讯。

2.2 有效数据的采集

  SPI通讯的数据采集是个相对复杂的环节,先不说其他,以上图为例:

图中红色框框即为有效数据被采集的时间点,"CPOL = 0"所在的脉冲信号表示的是用于进行数据同步的SCK,MOSI和MISO线上的数据在每个SCK时钟周期传输一位数据,注意,数据的输入/输出是可以同时进行的。

  由图可见,在SCK为奇数(更正:这里应该是偶数)边沿(在这里该边沿为下降沿)时,数据得到有效采样,也就是说,在这个时刻,MISO和MOSI的数据有效,高电平表示数据1,低电平表示数据0,在其它时刻数据并无效,可以理解为为下一次MISO和MOSI的数据传输做准备。

  数据在传输中,高位在先还是低位在先,SPI协议并无明确规定,但是数据要在主从机中正确传输,自然双方要先约定好,一般会采用高位在先(MSB)方式传输。

  这里需要再提及的概念是时钟极性(CPOL)和时钟相位(CPHA)。

  时钟极性(CPOL)指通讯设备处于空闲状态(SPI开始通讯前、nSS线无效)时,SCK的状态。

CPOL = 0:SCK在空闲时为低电平

CPOL = 1:SCK在空闲时为高电平

1 | CPOL = 0:SCK在空闲时为低电平2 | CPOL = 1:SCK在空闲时为高电平

  时钟相位(CPHA)指数据的采样时刻位于SCK的偶数边沿采样还是奇数边沿采样。

CPHA = 0:在SCK的奇数边沿采样

CPHA = 1:在SCK的偶数边沿采样

1 | CPHA = 0:在SCK的奇数边沿采样2 |CPHA = 1:在SCK的偶数边沿采样

  那么这样说来,SPI的采样时刻并非由上升沿/下降沿决定的。注意的是,在数据采样时刻,MOSI和MOSI的电平为有效电平,数据不能在这个时刻进行切换,在非采样时刻MOSI和MISO上的信号才能切换。

  完整的时序图如下:

柠檬的吃法有哪些,柠檬正确吃法(SPI协议详解)

图4

柠檬的吃法有哪些,柠檬正确吃法(SPI协议详解)

图5

  所以说,SPI有4中工作模式:

柠檬的吃法有哪些,柠檬正确吃法(SPI协议详解)

图6

更正:工作模式3的CPOL应为1。

注意要让主机和从机需要在相同的工作模式下,这样才可以实现正常通讯。

下面介绍用STM32库函数实SPI通讯代码。

#ifndef __SPI_H#define __SPI_H#include "stm32f10x.h"void SPI2_Config(void);void SPI2_SetSpeed(uint8_t Speed);uint8_t SPI2_WriteReadData(uint8_t dat);void SPI1_Config(void);void SPI1_SetSpeed(uint8_t speed);uint8_t SPI1_WriteReadData(uint8_t dat);/***************************************************************************** Function Name : SPI1_Config* Description : ³õʼ»¯SPI2* Input : None* Output : None* Return : None****************************************************************************/void SPI1_Config(void){GPIO_InitTypeDef GPIO_InitStructure;SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIO_SetBits(GPIOA,GPIO_Pin_5|GPIO_Pin_6|GPIO_Pin_7); //PA5.6.7ÉÏÀ­/***************************************************************************//************************* ÉèÖÃSPIµÄ²ÎÊý ***********************************//***************************************************************************/SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//Ñ¡ÔñÈ«Ë«¹¤SPIģʽSPI_InitStructure.SPI_Mode = SPI_Mode_Master; //Ö÷»úģʽSPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //8λSPISPI_InitStructure.SPI_CPOL = SPI_CPOL_High; //ʱÖÓÐü¿Õ¸ßµçƽSPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge; //ÔÚµÚ¶þ¸öʱÖӲɼ¯Êý¾ÝSPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //NssʹÓÃÈí¼þ¿ØÖÆSPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;//´Ó×î¸ßλ¿ªÊ¼´«ÊäSPI_InitStructure.SPI_CRCPolynomial = 7;SPI_Cmd(SPI1, ENABLE);SPI_Init(SPI1, &SPI_InitStructure);} /***************************************************************************** Function Name : SPI2_Config* Description : ³õʼ»¯SPI2* Input : None* Output : None* Return : None****************************************************************************/void SPI2_Config(void){GPIO_InitTypeDef GPIO_InitStructure;SPI_InitTypeDef SPI_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); RCC_APB1PeriphClockCmd(RCC_APB1Periph_SPI2, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13 | GPIO_Pin_14 | GPIO_Pin_15;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOB, &GPIO_InitStructure);/***************************************************************************//************************* ÉèÖÃSPIµÄ²ÎÊý ***********************************//***************************************************************************/SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;//Ñ¡ÔñÈ«Ë«¹¤SPIģʽSPI_InitStructure.SPI_Mode = SPI_Mode_Master; //Ö÷»úģʽSPI_InitStructure.SPI_DataSize = SPI_DataSize_8b; //8λSPISPI_InitStructure.SPI_CPOL = SPI_CPOL_Low; //ʱÖÓÐü¿Õ¸ßµçƽSPI_InitStructure.SPI_CPHA = SPI_CPHA_1Edge; //ÔÚµÚ¶þ¸öʱÖӲɼ¯Êý¾ÝSPI_InitStructure.SPI_NSS = SPI_NSS_Soft; //NssʹÓÃÈí¼þ¿ØÖÆSPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256;SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;//´Ó×î¸ßλ¿ªÊ¼´«ÊäSPI_InitStructure.SPI_CRCPolynomial = 7;SPI_Cmd(SPI2, ENABLE);SPI_Init(SPI2, &SPI_InitStructure);} /***************************************************************************** Function Name : SPI1_SetSpeed* Description : ÉèÖÃSPI1µÄ´«ÊäËٶȡ£* Input : ËٶȲ¨ÌØÂÊ·ÖƵ* Output : None* Return : None****************************************************************************/void SPI1_SetSpeed(uint8_t speed){SPI1->CR1 &= 0xFFC7; SPI1->CR1 |= speed;SPI_Cmd(SPI1, ENABLE);}/***************************************************************************** Function Name : SPI2_SetSpeed* Description : ÉèÖÃSPI2µÄ·ÖƵÊý£¬ÒԸıäSPI2µÄËÙ¶È.* Input : Speed£º·ÖƵÊý* Output : None* Return : None****************************************************************************/void SPI2_SetSpeed(uint8_t Speed){SPI2->CR1 &= 0xFFC7; SPI2->CR1 |= Speed;SPI_Cmd(SPI2,ENABLE); }/***************************************************************************** Function Name : SPI1_WriteReadData* Description : ʹÓÃSPI1дÈëÒ»¸ö×Ö½ÚÊý¾Ýͬʱ¶ÁÈ¡Ò»¸ö×Ö½ÚÊý¾Ý¡£* Input : dat£ºÒªÐ´µÄ8λÊý¾Ý* Output : None* Return : ¶ÁÈ¡µ½µÄ8λÊý¾Ý****************************************************************************/uint8_t SPI1_WriteReadData(uint8_t dat){uint16_t i = 0; while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET){i++;if(i > 10000){return 0xFF;}} SPI_I2S_SendData(SPI1, dat);while(SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_RXNE) == RESET); return SPI_I2S_ReceiveData(SPI1);}/***************************************************************************** Function Name : SPI2_WriteReadData* Description : ʹÓÃSPI2дÈëÒ»¸ö×Ö½ÚÊý¾Ýͬʱ¶ÁÈ¡Ò»¸ö×Ö½ÚÊý¾Ý¡£* Input : dat£ºÐ´ÈëµÄÊý¾Ý* Output : None* Return : ¶ÁÈ¡µ½µÄÊý¾Ý* * ¶Áȡʧ°Ü·µ»Ø0xFF****************************************************************************/uint8_t SPI2_WriteReadData(uint8_t dat){uint16_t i = 0; while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_TXE) == RESET){i++;if(i > 10000){return 0xFF;}} SPI_I2S_SendData(SPI2, dat);while(SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE) == RESET); return SPI_I2S_ReceiveData(SPI2);}

2、柠檬的吃法有哪些:柠檬正确吃法

柠檬正确吃法

柠檬正确吃法步骤:

① 将柠檬用硬毛刷彻底洗净,放冰箱冷冻2小时。

② 取出后切片(每个柠檬切15~20片),放入密闭的容器中。

③ 放入适量蜂蜜(依个人喜好),加入凉开水淹没柠檬片,盖好容器,置于冰箱中冷藏。

④ 隔天取出2片用温开水冲泡即可,这样可以把柠檬中丰富的VC激发出来。

1个柠檬能吃1个星期左右。常喝能减少黑斑、雀斑发生的几率,让肌肤美白。他还有补钙、减肥的作用。

柠檬的功效:

柠檬性温、味苦、无毒,具有止渴生津、祛暑安胎、疏滞、健胃、止痛等功能利尿,调剂血管通透性,适合浮肿虚胖的mm。

热柠檬汁加蜂蜜对治疗支气管炎和鼻咽炎十分有效。甘地润肺、酸地消渴、开胃解酒毒、美白、润肤、降低胆固醇。

冲泡剩馀,可涂在面部治疗面斑,粉剌。

柠檬的各种用法:

柠檬可以为牙龈止血,还可以减少蛀牙。

用柠檬汁来回擦拭鼻翼可以导出毛孔中的黑头,用柠檬水洗脸可以去角质,晒伤后用柠檬水擦在脸上可以快速降温。

用柠檬水漱口可以有效的杀死口腔中的细菌,如果咽下去柠檬水还可以让口气长时间保持清新。做完柠檬水的口腔清洁几分钟之内要再用清水漱口,因为太多的酸性也会伤到牙齿。

用柠檬水洗头可以去除头屑。将柠檬水撒在经常产生头屑的地方,然后再用一茶匙和一杯水的'混合液冲洗,几次过后,头皮屑就不见了。

用切开的柠檬沾取食盐来擦大理石上其他清洁物都处理不到的污渍,清洁过后要用清水把表面清理干净以防酸液腐蚀。

柠檬正确吃法

1、柠檬是什么水果

柠檬是一种富含维生素C、糖类、钙、磷、铁、维生素B1。维生素B2。烟酸、奎宁酸、柠檬酸、苹果酸、橙皮苷、柚皮苷、香豆精、高量钾元素和低量钠元素等的营养水果。对人体十分有益。维生素C能维持人体各种组织和细胞间质的生成,并保持它们正常的生理机能。

人体内的母质、粘合和成胶质等,都需要维生素C来保护。当维生素C缺少了,细胞之间的间质--胶状物也就跟着变少。这样,细胞组织就会变脆,失去抵抗外力的能力,人体就容易出现坏血症;它还有更多用途,如预防感冒、刺激造血和抗癌等作用,因此人们称它为“神秘的药果”。

2、柠檬的养生保健功效

1、柠檬助减肥。柠檬中的柠檬酸和果胶可以控制食欲。想减肥,不妨泡杯柠檬水当饮料。

2、排胆石。每天早餐前1小时喝一勺鲜榨柠檬汁和一勺橄榄油,有助排除胆结石及肾结石。柠檬水可防治血管疾病及。

3、治咳嗽。自制柠檬饮料可祛痰止咳:把半个柠檬切片后放在500毫升水中,煮20分钟后晾凉,再加入蜂蜜饮用。

4、防治感冒。经常喝柠檬水可防治感冒。

5、降血压。柠檬富含有益血管健康的黄酮类抗氧化剂。而且,其含有的维生素C可提高人体内的一氧化氮水平,进而放松身体、扩张血管、降低血压。

6、助消化。吃油炸食物感觉烧心,不妨在温水中加勺鲜榨柠檬汁再饮用,可以帮助消化。

7、防感染。半个柠檬挤汁兑水饮用,每天2-3次,可预防尿路感染。

8、防便秘。柠檬含膳食纤维果胶,可促进肠道蠕动;纤维素还可加快排便。

3、新鲜柠檬之用法

食用:

1、把柠檬切片,丢几片在凉水杯里,放在冰箱里冰一下,喝冰镇柠檬水。泡在温水或凉水中,新鲜的柠檬皮有减肥、排毒、去火的功效。

2、把柠檬切片,做鱼的时候,洗完鱼可以用柠檬去腥。放冰箱内可以去除异味。

3、把柠檬一切两半,用力挤压其中的柠檬汁,用来调酒或者调饮料,新鲜的柠檬含水量丰富,可以用手或器皿积压出汁水,与矿泉水混合并加入适量的糖。鲜柠檬水除了具有减肥作用外,其丰富的维生素有很强的抗氧化作用,对美白和抗衰老也很有效。

4、也有人喜欢直接吃--把切成片的柠檬,一面撒上塘,然后合成半圆形,一口咬住果肉部分,吃起来巨酸又略带甜。

5、柠檬(汁)、番茄可以榨果汁喝。

6、柠檬(片)、番茄、鲫鱼可以炖汤。

三、柠檬菜肴:

柠檬鱼:

主料:鲈鱼200克

辅料:柠檬30克

调料:大葱10克姜5克大蒜5克辣椒酱10克鱼露10克白酒5克香菜10克

a、鱼洗净,身上划两刀,放在盘中;

b、柠檬榨汁,用刀刮些柠檬皮屑备用;

c、葱、姜洗净,蒜头去皮洗净,均剁碎;

d、香菜择洗干净,切成末;

e、将剁碎的葱姜蒜放在鱼身上,并加入辣椒酱、酒、鱼露和柠檬汁,大火蒸8分钟;

f、将蒸好的柠檬鱼撒上柠檬皮屑、香菜末即可。

柠檬鸡:

基本材料:鸡脯肉300克,面粉100克,细干淀粉30克,鲜柠檬250克,白糖30克,番茄100克,白萝卜500克,蜜樱桃4粒,川盐、料酒、泡打粉、姜、葱、香菜、胡椒粉、鲜汤、湿淀粉、精炼油、化猪油各适量。

a、鸡脯肉洗净,切成长8厘米、横截面0.6厘米的条,入碗,用川盐、料酒、胡椒粉、姜、葱码味;柠檬(一半)取汁;取碗一个,放入面粉、细干淀粉、川盐、胡椒粉、鸡蛋、化猪油等调成糊状待用。

b、用萝卜雕刻成一只雄鸡,作鸣叫状;余下的柠檬、番茄洗净,切成月牙片。

c、取圆盘1个,将雄鸡头朝向盘内摆放在盘子的一边,圆盘四周用柠檬、番茄、香菜、樱桃围边。

d、锅置火上,放精炼油烧至五成热时,将鸡条放入面糊内,均匀地裹上一层后,入锅炸至定形捞出,整齐地堆放在盘子正中。

e、锅置火上,掺鲜汤,放川盐、白糖、柠檬汁等烧沸后,用湿淀粉勾薄芡烧至收汁,舀入味碟中,与柠檬鸡同时入席蘸食即可

四、柠檬如何护肤

1、柠檬手足去死皮磨砂膏

功效:可有效去除手足部位的死皮、让全身美白成为可能。

材料:柠檬一个、白砂糖适量、杏仁油或橄榄油2匙、薰衣草精油或薄荷精油3滴。

制作:先将柠檬榨汁,然后将上面的其它材料混合、搅拌均匀后立即涂敷于手足皮肤粗糙的部位。然后用热水洗掉,最后再抹上自己常用的、适合自己肌肤状况的保湿乳液进行后续护理。

2、柠檬祛痘面膜

功效:柠檬酸具有天然的美白、排毒功效,还能有助于祛痘、除痘。

材料:4匙柠檬汁、3匙酸奶、2匙蜂蜜、1个鸡蛋。

制作:首选将鸡蛋蛋清分离出来待用,然后将所有材料混合一起搅拌均匀。洁面,将上述做好的面膜液适量涂抹于面部,静敷约15分钟后用温水冲洗干净,然后轻轻拍干即可。

3、漂白发黄的指甲

材料:新鲜柠檬1个。

制作:如果发现自己的指甲变黄,将新鲜、成熟的柠檬洗净、切开成两半,然后把发黄的指尖伸进柠檬里,按摩2分钟即可。持续1周后,你就会发现自己的指甲变得更白更干净了呵。

4、自制柠檬水减肥

材料:新鲜柠檬1个、水。

制作:一公升的水里加上半粒柠檬原汁,并置於冰箱里,温度较低易有清凉爽口的感觉。

每日至少喝下三公升的柠檬水,不需特别节食或禁绝零食,但必须时时补充柠檬水。

必须搭配每日15分钟运动,不必持续进行,分散时间亦可有助於排汗,目的是为了排除体内有害物质。

柠檬正确吃法

柠檬正确吃法步骤:

① 将柠檬用硬毛刷彻底洗净,放冰箱冷冻2小时。

② 取出后切片(每个柠檬切15~20片),放入密闭的容器中。

③ 放入适量蜂蜜(依个人喜好),加入凉开水淹没柠檬片,盖好容器,置于冰箱中冷藏。

④ 隔天取出2片用温开水冲泡即可,这样可以把柠檬中丰富的VC激发出来。

1个柠檬能吃1个星期左右。常喝能减少黑斑、雀斑发生的几率,让肌肤美白。他还有补钙、减肥的作用。

柠檬的功效:

柠檬性温、味苦、无毒,具有止渴生津、祛暑安胎、疏滞、健胃、止痛等功能利尿,调剂血管通透性,适合浮肿虚胖的mm。

热柠檬汁加蜂蜜对治疗支气管炎和鼻咽炎十分有效。甘地润肺、酸地消渴、开胃解酒毒、美白、润肤、降低胆固醇。

冲泡剩馀,可涂在面部治疗面斑,粉剌。

柠檬的各种用法:

柠檬可以为牙龈止血,还可以减少蛀牙。

用柠檬汁来回擦拭鼻翼可以导出毛孔中的黑头,用柠檬水洗脸可以去角质,晒伤后用柠檬水擦在脸上可以快速降温。

用柠檬水漱口可以有效的杀死口腔中的细菌,如果咽下去柠檬水还可以让口气长时间保持清新。做完柠檬水的口腔清洁几分钟之内要再用清水漱口,因为太多的酸性也会伤到牙齿。

用柠檬水洗头可以去除头屑。将柠檬水撒在经常产生头屑的地方,然后再用一茶匙和一杯水的'混合液冲洗,几次过后,头皮屑就不见了。

用切开的柠檬沾取食盐来擦大理石上其他清洁物都处理不到的污渍,清洁过后要用清水把表面清理干净以防酸液腐蚀。

本文关键词:柠檬正确吃法大全,柠檬的吃法,柠檬吃的方法,柠檬正确吃法和禁忌,柠檬该怎么吃法。这就是关于《柠檬的吃法有哪些,柠檬正确吃法(SPI协议详解)》的所有内容,希望对您能有所帮助!


声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,谢谢。

上一篇: 婴儿用安抚奶嘴到底好不好,新生儿用安抚奶嘴好吗(宝宝可以使用安抚奶嘴吗)

下一篇: 男人最爱听的昵称,男人爱听的昵称(“笨”女人却说不出口)



推荐阅读

网站内容来自网络,如有侵权请联系我们,立即删除! | 软文发布 | 粤ICP备2021106084号