嵌入式基礎(三)基礎外設

嵌入式基礎(三)基礎外設

1.什么是UART?與USART有什么區別???

(1)什么是UART

通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter),通常稱作UART。是一種異步全雙工串行通信協議,它將要傳輸的資料在串行通信與并行通信之間加以轉換。作為把并行輸入信號轉成串行輸出信號的芯片,UART通常被集成于其他通訊接口的連結上,它不是像SPI和I2C這樣的通信協議,而是微控制器中獨立的物理電路或獨立的IC。UART工作原理是將數據的二進制位一位一位的進行傳輸。

硬件連接

硬件連接比較簡單,僅需要3條線,注意連接時兩個設備UART電平,如電平范圍不一致請做電平轉換后再連接,如下圖所示:

  • TX:發送數據端,要接對面設備的RX。
  • RX:接收數據端,要接對面設備的TX。
  • GND:保證兩設備共地,有統一的參考平面。

通信協議

UART作為異步串口通信協議的一種,工作原理是將數據的字節一位接一位地傳輸。協議如下:

空閑位:

UART協議規定,當總線處于空閑狀態時信號線的狀態為1即高電平。

起始位:

開始進行數據傳輸時發送方要先發出一個低電平0來表示傳輸字符的開始。因為空閑位一直是高電平所以開始第一次通訊時先發送一個明顯區別于空閑狀態的信號即為低電平。

數據位:

起始位之后就是要傳輸的數據,數據可以是5,6,7,8位,構成一個字符,一般都是8位。先發送最低位LSB,再發送最高位MSB(小端模式)。

奇偶校驗位:

數據位傳送完成后,要進行奇偶校驗,校驗位其實是調整個數,串口校驗分幾種方式

  • 無校驗(No Parity)
  • 奇校驗(Odd Parity):如果數據位中1的數目是偶數,則校驗位為1才能滿足1的個數為奇數,如果1的數目是奇數,校驗位為0。
  • 偶校驗(Even Parity):如果數據為中1的數目是偶數,則校驗位為0才能滿足1的個數為偶數,如果1的數目是奇數,校驗位為1。
  • Mark Parity:校驗位始終為1。
  • Space Parity:校驗位始終為0。
停止位:

數據結束標志,可以是1位,1.5位,2位的高電平。

波特率:

異步通信以一個字符為傳輸單位,通信中兩個字符間的時間間隔多少是不固定的,然而在同一個字符中的兩個相鄰位間的時間間隔是固定的。數據傳輸速率使用波特率來表示,單位bps(bits per second)。常見的波特率9600bps,115200bps等等,其他標準的波特率是1200,2400,4800,19200,38400,57600。舉個例子,如果串口波特率設置為9600bps,那么傳輸一個比特需要的時間是:1 / 9600 ≈ 104.2us。

二、UART和USART的區別

特點

UART

USART

通信方式

只支持異步通信

可支持異步和同步通信

全雙工通信

可以進行全雙工數據傳輸

可以進行全雙工數據傳輸

功能

通常只包括發送和接收功能

包括發送、接收、同步和異步等多種功能

數據線

一般只有兩個數據線

在同步通信模式下需要多個數據線和時鐘線

適用場景

適用于簡單的低速異步通信應用

適用于更復雜的通信需求,包括同步和異步通信等

2.什么是I2C, I2C時序圖?`??

一、I2C協議簡介

I2C(Inter-Integrated Circuit)是一種串行通信總線協議,用于在集成電路(IC)之間進行通信。它由兩根線組成:串行數據線(SDA)和串行時鐘線(SCL)。I2C總線采用主從結構,可以支持多個設備在同一條總線上進行通信。

I2C通信的特點包括簡單、靈活和可靠,適用于連接多個低速設備。每個設備都有一個唯一的地址,主設備通過發送地址將數據傳輸給從設備,從設備接收并響應這些數據。

二、I2C總線結構

I2C總線在物理連接上非常簡單,分別由SDA(串行數據線)和SCL(串行時鐘線)及上拉電阻組成。通信原理是通過對SCL和SDA線高低電平時序的控制,來產生I2C總線協議所需要的信號進行數據的傳遞。在總線空閑狀態時,這兩根線一般被上面所接的上拉電阻拉高,保持著高電平。

三、I2C時序圖

開始條件:在時鐘線保持高電平時,數據線從高電平轉為低電平,即檢測到一個下降沿,會形成一個開始條件;

停止條件:時鐘保持高電平時,數據線從低電平轉為高電平形成一個停止條件。

進行數據傳輸前也就是緊跟開始條件后,我們要傳送地址字節,前7位是從設備地址(這也是為什么一個主機理論上最多能接127個從機,2^7-1),第八位是讀/寫標志位。每8bit傳輸完成,第九位是應答位。如果是主設備發送數據,就是從設備應答,如果是主設備讀取數據,就是主設備應答。

3.請說明總線接口USRT、I2C、USB的異同點(串/并、速度、全/半雙工、總線拓撲等)????

下面是USRT、I2C和USB總線接口的異同點比較表:

特性

USRT

I2C

USB

類型

串行

串行

串行

速度

快 - 高達幾GHz

中等 - 最高可達400kHz

可變 - 低速、全速、高速、超速

傳輸協議

可使用多種協議,如UART、SPI等

特定I2C協議

特定USB協議

通信線數

3根或更多

2根

4根至更多

拓撲

點對點或多點

主從結構

主從結構

協議復雜性

中等

簡單

復雜

主/從設備

可能有多個主設備和從設備

一個主設備和多個從設備

一個主設備和多個從設備

半雙工/全雙工

全雙工

半雙工

全雙工或半雙工

應用

通常用于遠距離通信,如RS-485

適用于短距離通信,如傳感器與微控制器之間

廣泛應用于外設連接、存儲設備等

4.什么是SPI,SPI的特性????

1、什么是SPI

SPI是串行外設接口(Serial Peripheral Interface)的縮寫,是一種高速的,全雙工,同步的通信總線,并且在芯片的管腳上只占用四根線,節約了芯片的管腳,同時為PCB的布局上節省空間,提供方便,正是出于這種簡單易用的特性,越來越多的芯片集成了這種通信協議,主要應用在 EEPROM,FLASH,實時時鐘,AD轉換器,還有數字信號處理器和數字信號解碼器之間。

2、SPI模式

SPI分為主、從兩種模式,一個SPI通訊系統需要包含一個(且只能是一個)主設備,一個或多個從設備。

提供時鐘的為主設備(Master),接收時鐘的設備為從設備(Slave),SPI接口的讀寫操作,都是由主設備發起。當存在多個從設備時,通過各自的片選信號進行管理。

SPI是全雙工且SPI沒有定義速度限制,一般的實現通常能達到甚至超過10 Mbps

3、SPI信號線

SPI接口一般使用四條信號線通信:

SDI(數據輸入),SDO(數據輸出),SCK(時鐘),CS(片選)

  • MISO: 主設備輸入/從設備輸出引腳。該引腳在從模式下發送數據,在主模式下接收數據。
  • MOSI: 主設備輸出/從設備輸入引腳。該引腳在主模式下發送數據,在從模式下接收數據。
  • SCLK:串行時鐘信號,由主設備產生。
  • CS/SS:從設備片選信號,由主設備控制。它的功能是用來作為"片選引腳",也就是選擇指定的從設備,讓主設備可以單獨地與特定從設備通訊,避免數據線上的沖突。
4、SPI設備選擇

SPI是單主設備( single-master )通信協議,這意味著總線中的只有一支中心設備能發起通信。

  1. 當SPI主設備想讀/寫[從設備]時:
  2. 它首先拉低[從設備]對應的SS線(SS是低電平有效)
  3. 接著開始發送工作脈沖到時鐘線上,在相應的脈沖時間上,[主設備]把信號發到MOSI實現"寫",同時可對MISO采樣而實現"讀"

6、SPI通信的四種模式

SPI的四種模式,簡單地講就是設置SCLK時鐘信號線的那種信號為有效信號

它們的區別是定義了在時鐘脈沖的哪條邊沿轉換(toggles)輸出信號,哪條邊沿采樣輸入信號,還有時鐘脈沖的穩定電平值(就是時鐘信號無效時是高還是低)。每種模式由一對參數刻畫,它們稱為時鐘極(clock polarity)CPOL與時鐘期(clock phase)CPHA。

  • SPI通信有4種不同的操作模式,不同的從設備可能在出廠是就是配置為某種模式,這是不能改變的
  • 但我們的通信雙方必須是工作在同一模式下
  • 所以我們可以對我們的主設備的SPI模式進行配置,通過CPOL(時鐘極性)和CPHA(時鐘相位)來控制我們主設備的通信模式

具體如下:

1. 時鐘極性(CPOL)定義了時鐘空閑狀態電平:

  • CPOL=0,表示當SCLK=0時處于空閑態,所以有效狀態就是SCLK處于高電平時**(高有效)**
  • CPOL=1,表示當SCLK=1時處于空閑態,所以有效狀態就是SCLK處于低電平時**(低有效)**

2. 時鐘相位(CPHA)定義數據的采集時間。

  1. CPHA=0,在時鐘的第1個跳變沿(上升沿或下降沿)進行數據采樣。在第2個邊沿發送數據**(1采2發)**
  2. CPHA=1,在時鐘的第2個跳變沿(上升沿或下降沿)進行數據采樣。在第1個邊沿發送數據**(1發2采)**

具體如下:

  1. Mode0:CPOL=0,CPHA=0:此時空閑態時,SCLK處于低電平;數據采樣是在第1個邊沿,也就是SCLK由低電平到高電平的跳變;所以數據采樣是在上升沿,數據發送是在下降沿。
  2. Mode1:CPOL=0,CPHA=1:此時空閑態時,SCLK處于低電平;數據發送是在第1個邊沿,也就是SCLK由低電平到高電平的跳變;所以數據采樣是在下降沿,數據發送是在上升沿。
  3. Mode2:CPOL=1,CPHA=0:此時空閑態時,SCLK處于高電平;數據采樣是在第1個邊沿,也就是SCLK由高電平到低電平的跳變;所以數據采集是在下降沿,數據發送是在上升沿。
  4. Mode3:CPOL=1,CPHA=1:此時空閑態時,SCLK處于高電平;數據發送是在第1個邊沿,也就是SCLK由高電平到低電平的跳變;所以數據采集是在上升沿,數據發送是在下降沿。

注:數據采樣=準備數據

CPOL=0:高有效,0到1,即上升沿是第一個邊沿

CPOL=1:低有效,1到0,即下降沿是第一個邊沿

5.什么是GPIO???

GPIO 是 General Purpose Input/Output(通用輸入/輸出)的縮寫,它是一種在計算機系統中用于與外部設備進行數字信號交互的通用接口。每個 GPIO 引腳可以被配置為輸入或輸出,并且可以通過編程來讀取或寫入數字信號。

6.如何使用TIM定時器實現定時中斷和PWM輸出?????

  1. 初始化 TIM 定時器:使用適當的配置和預分頻器設置來初始化 TIM 定時器。選擇合適的計數模式,例如向上計數模式或向下計數模式,以及所需的計數器值。
  2. 配置定時中斷:使能定時器中斷功能,并設置適當的中斷優先級。確保定時器溢出時會觸發中斷。
  3. 配置 PWM 輸出通道:選擇一個或多個輸出通道來作為 PWM 輸出。配置這些通道的工作模式為 PWM 模式,并設置相應的占空比(PWM 的高電平時間與周期時間的比例)。根據您的需求配置 PWM 周期和占空比的值。
  4. 啟動定時器:調用啟動定時器的函數,開始定時器的計數。
  5. 在定時中斷服務函數中編寫代碼:在定時中斷服務函數中編寫處理程序,用于處理定時中斷的邏輯。您可以在此函數中執行所需的操作,例如更新 PWM 的占空比、改變輸出狀態等

#include "stm32xxxx.h" ?// 包含特定型號的 STM32 頭文件

#include "stm32xxxx_hal.h" ?// 包含 STM32 HAL 庫頭文件

TIM_HandleTypeDef htim2; ?// 定義一個 TIM_HandleTypeDef 結構體變量用于配置 TIM2

void SystemClock_Config(void) {

??// 在這里配置系統時鐘

}

void TIM2_Init(void) {

??TIM_MasterConfigTypeDef sMasterConfig;

??TIM_OC_InitTypeDef sConfigOC;

??TIM_HandleTypeDef htim;

??// 啟用 TIM2 時鐘

??__HAL_RCC_TIM2_CLK_ENABLE();

??// 配置 TIM2

??htim2.Instance = TIM2;

??htim2.Init.Prescaler = 0;

??htim2.Init.CounterMode = TIM_COUNTERMODE_UP;

??htim2.Init.Period = 1000;

??htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;

??// 初始化 TIM2

??HAL_TIM_PWM_Init(&htim2);

??// 設置 PWM 輸出

??sConfigOC.OCMode = TIM_OCMODE_PWM1;

??sConfigOC.Pulse = 500; ?// 設置占空比,取值范圍為 0 - 1000(0%-100%)

??sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;

??sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;

??HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1); ?// 配置 TIM2 的通道 1

??// 配置 TIM2 的定時中斷

??HAL_TIM_Base_MspInit(&htim2);

??sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;

??sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;

??HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig);

??// 啟動定時器

??HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);

??HAL_TIM_Base_Start_IT(&htim2);

}

void TIM2_IRQHandler(void) {

????// 處理定時中斷的邏輯

????// ...

????

????HAL_TIM_IRQHandler(&htim2);

}

int main(void) {

??HAL_Init();

??SystemClock_Config();

??TIM2_Init();

??while (1) {

????// 主循環中的其他任務

??}

}

7.外部中斷觸發模式有哪些?請分別描述它們的特點和應用場景。???

觸發模式

特點

應用場景

上升沿觸發

信號從低電平到高電平時觸發中斷

檢測按鈕按下或傳感器觸發等高電平信號變化的場合

下降沿觸發

信號從高電平到低電平時觸發中斷

檢測按鈕釋放或傳感器復位等低電平信號變化的場合

雙邊沿觸發

信號的上升沿和下降沿均觸發中斷

需要同時檢測上升沿和下降沿的場合,如通信協議的時鐘信號

電平觸發

信號維持相應電平期間持續觸發中斷

持續性信號的檢測,如通信協議的數據線

8.比較I2C和SPI接口的異同點,分別適用于哪些應用場景????

特點

I2C

SPI

數據線數量

2 根(一根用于數據傳輸,一根用于時鐘)

多根(最少 4 根,通常包括數據線、時鐘線、片選線等)

傳輸速率

低速,最高速率通常在幾百 kHz

高速,速率可以達到幾 Mbps 或更高

設備連接方式

總線拓撲結構

點對點連接或主從模式

主從設備數量

高,支持多個主設備和從設備同時連接

通常只有一個主設備操作多個從設備

硬件復雜性

相對較低,只需要實現 I2C 控制器和設備

相對較高,需要實現 SPI 控制器和設備

適用場景

- 傳感器、EEPROM、溫度傳感器等小規模設備

- 系統中設備數量多、通信速率要求不高的場景

- 存儲器、FPGA、音頻編解碼器等需要高速數據傳輸的設備

- 系統中設備數量少、通信速率要求較高的場景

9.在STM32中如何配置和使用ADC模塊????

#include "stm32f4xx.h"

void ADC_Configuration(void) {

????GPIO_InitTypeDef ??????GPIO_InitStructure;

????ADC_InitTypeDef ???????ADC_InitStructure;

????// 使能 GPIO 時鐘

????RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);

????// 使能 ADC1 時鐘

????RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1, ENABLE);

????// 配置 ADC 輸入引腳為模擬模式

????GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; ?????// 假設使用PA0作為ADC輸入引腳

????GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN; ??// 模擬輸入模式

????GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; // 不使用上下拉電阻

????GPIO_Init(GPIOA, &GPIO_InitStructure);

????// ADC 配置

????ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b; ????// ADC 分辨率為 12 位

????ADC_InitStructure.ADC_ScanConvMode = DISABLE; ??????????????// 非掃描模式

????ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; ????????// 非連續轉換模式

????ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None; // 不使用外部觸發

????ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right; ?????// 右對齊輸出

????ADC_InitStructure.ADC_NbrOfConversion = 1; ?????????????????// 轉換的通道數為1

????ADC_Init(ADC1, &ADC_InitStructure);

????ADC_Cmd(ADC1, ENABLE); ???// 啟用 ADC1

????// 配置ADC轉換通道

????ADC_RegularChannelConfig(ADC1, ADC_Channel_0, 1, ADC_SampleTime_3Cycles);

????// 啟動ADC校準

????ADC_GetCalibrationFactor(ADC1);

????while(ADC_GetCalibrationStatus(ADC1));

????// 啟動ADC轉換

????ADC_SoftwareStartConv(ADC1);

}

10.同步通信和異步通信????

同步通信:在同步通信中,發送方和接收方的時鐘是相互關聯的,數據的傳輸和接收是基于一個共同的時鐘信號進行同步的。發送方在每個時鐘周期內按照時鐘的節拍發送數據,接收方也按照同樣的時鐘節拍接收數據。雙方通過時鐘信號的同步來保證正確的數據傳輸。同步通信對時序要求較高,需要在通信雙方之間建立穩定的時鐘信號。

異步通信:在異步通信中,發送方和接收方沒有共同的時鐘信號進行同步。數據的傳輸和接收不依賴于特定的時鐘信號,而是通過特定的起始位和停止位來標識數據的傳輸開始和結束。每個數據幀都有自己的起始和停止位,這樣接收方可以通過檢測起始和停止位來識別每個數據幀。異步通信相對較為靈活,但需要額外的控制位來標識起始和停止。

區別:

  • 時鐘同步:同步通信使用共同的時鐘信號進行同步,異步通信沒有共同的時鐘信號。
  • 數據幀結構:同步通信將數據劃分為固定的時間片或時鐘周期,而異步通信在數據之間插入起始和停止位來界定數據幀的開始和結束。
  • 時序要求:同步通信對時序要求較高,通信雙方需要保持嚴格的同步;而異步通信對時序要求較低,通信雙方無需精確同步。
  • 靈活性:同步通信相對剛性,因為通信雙方必須始終保持同步;異步通信相對靈活,因為通信不依賴于特定的時鐘信號。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/76775.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/76775.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/76775.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

人力資源管理方向論文怎么寫?

目錄 一、人力資源管理方向論文選題 二、人力資源管理方向論文參考資料 隨著經濟的蓬勃發展,企業日益意識到引才、善用人才、留住人才對于業務發展的至關重要性。人力資源管理逐漸成為企業管理中的核心職能,其角色日益凸顯。近年來,“人力資…

機器學習 從入門到精通 day_05

1. 線性回歸 前面介紹了很多分類算法,分類的目標變量是標稱型數據,回歸是對連續型的數據做出預測。 標稱型數據(Nominal Data)是統計學和數據分析中的一種數據類型,它用于分類或標記不同的類別或組別,數據點之間并沒有…

神經子圖同構計數

摘要 本文研究了一個新的圖學習問題:學習計算子圖同構。與其他傳統的圖學習問題,如節點分類和鏈接預測不同,子圖同構計數是NP完全的,需要更多的全局推理來監督整個圖。為了使其可擴展為大規模的圖形和模式,我們提出了一…

開源模型應用落地-模型上下文協議(MCP)-第三方MCP Server實戰指南(五)

一、前言 在AI技術高速發展的2025年,如何讓大語言模型(LLM)更靈活地調用外部工具與數據,成為開發者關注的焦點。?模型上下文協議(MCP)?作為AI與外部資源的“萬能接口”,通過標準化交互框架解決了傳統集成中的碎片化問題。而第三方MCP Server的引入,進一步降低了開發門…

【2025年認證杯數學中國數學建模網絡挑戰賽】C題 數據預處理與問題一二求解

目錄 【2025年認證杯數學建模挑戰賽】C題數據預處理與問題一求解三、數據預處理及分析3.1 數據可視化3.2 滑動窗口相關系數統計與動態置信區間耦合分析模型3.3 耦合關系分析結果 四、問題一代碼數據預處理問題一 【2025年認證杯數學建模挑戰賽】C題 數據預處理與問題一求解 三…

AI Agent開發大全第二十八課-MCP實現本地命令調用怎么做的?

開篇 MCP很強大,Client端一旦實現了穩定的連接和執行流程后任Server端隨意改動都可兼容,這就是熱插撥功能。 如果我們僅僅滿足于MCP查點網上資料、讀點圖片即文字型的功能肯定是不能充分發揮MCP的強大之處的,正應了Google以及Anthropic最近的研究報告上說的:不要再在chat…

AJAX原理與XMLHttpRequest

目錄 一、XMLHttpRequest使用步驟 基本語法 步驟 1:創建 XHR 對象 步驟 2:調用 open() 方法 步驟 3:監聽 loadend 事件 步驟 4:調用 send() 方法 二、完整示例 1. GET 請求(帶查詢參數) 2. POST 請…

python寫個0~12個月寶寶喂養規劃表

下載字體:https://github.com/adobe-fonts/source-han-sans/releases 下載fpdf2 pip uninstall fpdf pip install fpdf2運行代碼 ?from fpdf import FPDF from fpdf.enums import XPos, YPos# 創建 PDF 類 class BabyFeedingPDF(FPDF):def header(self):self.s…

集中趨勢描述

一、集中趨勢的定義與核心目標 集中趨勢指數據向其中心值聚集的傾向,反映數據的典型水平或分布中心。其核心是通過統計指標(如眾數、中位數、均值)概括數據的核心特征,幫助快速理解數據分布的核心位置。 核心作用:簡化復雜數據、指導業務決策(如確定用戶平均消費水平)、…

【NLP】Attention機制

1.模型對比 RNN(馬爾科夫鏈式編碼) 通過遞歸計算逐個處理 token,當前編碼結果 h t h_t ht?僅依賴前一步的隱藏狀態 h t ? 1 h_{t-1} ht?1?和當前輸入 x t x_t xt?局限性:序列建模需嚴格串行,無法并行;長距離依賴易丟失(梯度消失/爆炸)例:雙向 LSTM 需正向+反向兩…

基于OpenCV與PyTorch的智能相冊分類器全棧實現教程

引言:為什么需要智能相冊分類器? 在數字影像爆炸的時代,每個人的相冊都存儲著數千張未整理的照片。手動分類不僅耗時,還容易遺漏重要瞬間。本文將手把手教你構建一個基于深度學習的智能相冊分類系統,實現:…

活動安排問題 之 前綴和與差分

文章目錄 D. Robert Hood and Mrs Hood 考慮到一個活動開始時間和結束時間s,e,那么可以影響到的范圍就是 s-d1,e,所以我們只需對這個每一個活動可以影響到的區域進行標記即可,當然為了降低時間復雜度,我們將使用前綴和與差分 t int(input()…

C++之 多繼承

在學校里有老師和學生,他們都是人,我么應該創建一個名為 Person 的基類和兩個名為 Teacher 和Student 的子類,后兩者是從前者繼承來的 有一部分學生還教課掙錢(助教),也就是同時存在著兩個”是一個”關系&…

大數據學習棧記——Redis安裝及其使用

本文介紹NoSQL技術:Redis的安裝及其使用。操作系統:Ubuntu24.04 Redis介紹 Redis是一個鍵值(key-value)存儲系統,即鍵值對非關系型數據庫,和Memcached類似,目前正在被越來越多的互聯網公司采用…

2024團體程序設計天梯賽L3-1 奪寶大賽

L3-037 奪寶大賽 分數 30 作者 陳越 單位 浙江大學 奪寶大賽的地圖是一個由 nm 個方格子組成的長方形,主辦方在地圖上標明了所有障礙、以及大本營寶藏的位置。參賽的隊伍一開始被隨機投放在地圖的各個方格里,同時開始向大本營進發。所有參賽隊從一個方格…

JMeter的高并發和高頻率和分布式

性能測試 模擬各種正常的、峰值的測試環境,檢測程序的各項性能指標是否能夠達標 高并發 JMeter中內置了定時器,可以實現時間模式相關的性能測試 需求1:同一時刻100個同學去訪問學生管理系統的查詢所有學院信息功能,統計高并發情況下平均響…

ubuntu學習day2

linux常用命令 3.文件查看及處理命令 3.1查看文件內容 cat[選項][文件] -b 對非空輸出行編號 -E 在每行結束處顯示$ -n 對輸出的所有行編號 -s 不輸出多行空行 標準輸入、標準輸出和標準錯誤 在 Linux 中,每個進程默認有三個文件描述符: 標準輸入&…

項目中引入 Redis 及 常用五種數據類型

在平常的開發過程中,我們經常會用到緩存的技術。比如,驗證碼60秒后過期、計數器的實現、商品信息存儲在緩存中快速展示等。那么,項目中經常會使用到的便是 redis 緩存。redis 在內存中操作,讀寫快。Redis 常用的數據類型有五種&am…

Spark-SQL簡介及核心編程

Spark-SQL概述:是Spark用于結構化數據處理的模塊,前身是Shark。Shark基于Hive開發,使SQL-on-Hadoop性能大幅提升,但對Hive依賴制約了Spark發展。SparkSQL汲取Shark優點并重新開發,在數據兼容、性能優化和組件擴展上優勢…

奇趣點播系統測試報告

1.項目簡介 本項目旨在搭建一個視頻共享點播系統,服務器支持用戶通過前端瀏覽器訪問服務器,獲取展示與觀看和操作的界面,最終實現視頻的上傳以及觀看和刪改查等基礎管理功能。讓用戶擁有良好的觀看體驗和分享視頻的快捷方式,此外…