99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

單片機(jī)項(xiàng)目中使用新IC芯片調(diào)試方法

CHANBAEK ? 來(lái)源:想啥做啥 ? 作者: wllis ? 2023-11-30 15:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前一陣子,一位小伙伴咨詢我一款新IC芯片怎么使用,借此機(jī)會(huì)我順便把我日常工作中經(jīng)常用到的一種調(diào)試方法介紹給小伙伴們,希望對(duì)對(duì)大家有所幫助。準(zhǔn)備倉(cāng)促,文中難免有技術(shù)性錯(cuò)誤,歡迎大家給予指正,并給出好的建議...

前言:

我們?cè)?a target="_blank">單片機(jī)的項(xiàng)目開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)遇到使用新IC芯片的情況,某寶賣(mài)家有個(gè)時(shí)候也提供不了對(duì)應(yīng)開(kāi)發(fā)程序,到網(wǎng)上找資料也找不到;很多初學(xué)者面對(duì)這樣的問(wèn)題往往束手無(wú)策,這里我給大家介紹我經(jīng)常用的其中一種新IC調(diào)試的方法。

因?yàn)檫@個(gè)芯片比較簡(jiǎn)單我這里采用下面步驟進(jìn)行:

第一步: 先用arduino+面包板快速搭建電路驗(yàn)證芯片功能

第二步: 使用STM32CubeIDE快速搭建工程驗(yàn)證在STM32上工作是否正常

Tips :由于我手頭沒(méi)有 萬(wàn)用表 ,這里我使用arduino的模擬電壓采集功能通過(guò)串口打印出來(lái)作為電位計(jì)的電壓監(jiān)控用。

首先,我們先快速瀏覽芯片數(shù)據(jù)手冊(cè),獲取重要信息

IC型號(hào):TLP0501

電壓范圍:2.7~5.5V

溫度范圍:-40~125℃

通信方式:SPI

阻值:100KΩ

阻值偏差:±20%

該芯片是德州儀器的一款單通道數(shù)字電位計(jì),通信方式是SPI總線,單方向的,即只能控制芯片,不能讀取輸入數(shù)據(jù),下面是數(shù)據(jù)手冊(cè)的具體介紹。

環(huán)境參數(shù):主要包括溫度使用范圍、電壓使用范圍、誤差、溫度漂移以及實(shí)物引腳對(duì)應(yīng)關(guān)系都在這里

圖片

環(huán)境參數(shù)

功能框圖:主要介紹該芯片的內(nèi)部組成和工作原理

圖片

功能框圖

引腳定義:每個(gè)引腳的功能介紹

圖片

引腳定義

SPI通信說(shuō)明:主要介紹芯片的通信方式,這個(gè)芯片因?yàn)闆](méi)有設(shè)置模式功能,只需要對(duì)芯片直接寫(xiě)數(shù)據(jù)即可,通信方式與我們所使用的74HC595的方式類(lèi)似

圖片

SPI通信說(shuō)明

真值對(duì)照表:也就是數(shù)字量對(duì)應(yīng)的實(shí)際電阻值,我這里只截取了一部分,剩下的大家可以自行去參考詳細(xì)手冊(cè)

圖片

真值對(duì)照表

對(duì)于要調(diào)通這個(gè)芯片這些介紹基本滿足我們的需求了

芯片模塊的快速制作

在芯片商城上買(mǎi)了兩片回來(lái)調(diào)試,芯片購(gòu)買(mǎi)的費(fèi)用知乎小伙伴給付了

準(zhǔn)備好芯片+轉(zhuǎn)接板

圖片

焊接兩塊是為了防止在使用過(guò)程中意外弄壞另一塊可以立馬補(bǔ)上,確保調(diào)試正常進(jìn)行而不耽誤太多時(shí)間

圖片

焊接好排針,并在供電端加上0.1uF的濾波電容,降低高頻供電干擾

圖片

這樣我們的模塊就制作完成了

arduino快速搭建工程:

電路原理

圖片

電路原理圖

引腳對(duì)應(yīng)關(guān)系:

arduino uno 引腳4 -> CLK

arduino uno 引腳5 -> DIN

arduino uno 引腳6 -> CS

arduino uno 引腳5v -> VCC、VREF

arduino uno 引腳GND -> GND、L

arduino uno 引腳A0 -> VRES_OUT

首先用面包板+杜邦線搭好電路

說(shuō)明:我在這里使用的供電電壓和數(shù)字電位計(jì)參考電壓都是使用的5V,相應(yīng)的輸出結(jié)果也是在0~5V范圍

圖片

然后使用arduino自帶的庫(kù),編寫(xiě)代碼,再變動(dòng)阻值參數(shù),看下輸出的實(shí)際結(jié)果和真值表是否對(duì)應(yīng)的上

數(shù)值為0x00時(shí)對(duì)應(yīng)的模擬電壓輸出

圖片

數(shù)值為0x88時(shí)對(duì)應(yīng)的模擬電壓輸出

數(shù)值為0xFF時(shí)對(duì)應(yīng)的模擬電壓輸出

圖片

經(jīng)過(guò)驗(yàn)證,在arduino上跑沒(méi)有問(wèn)題,接下來(lái)我們準(zhǔn)備在STM32上去運(yùn)行

arduino代碼部分:

/*
  AnalogReadSerial


  Reads an analog input on pin 0, prints the result to the Serial Monitor.
  Graphical representation is available using Serial Plotter (Tools > Serial Plotter menu).
  Attach the center pin of a potentiometer to pin A0, and the outside pins to +5V and ground.


  This example code is in the public domain.


  http://www.arduino.cc/en/Tutorial/AnalogReadSerial
*/


int CS_Pin = 6;
int CLK_Pin = 4;
int DIN_Pin = 5; //這里定義了那三個(gè)腳


// the setup routine runs once when you press reset:
void setup() {

  pinMode(CS_Pin,OUTPUT);
  pinMode(CLK_Pin,OUTPUT);
  pinMode(DIN_Pin,OUTPUT); //讓三個(gè)腳都是輸出狀態(tài)

  // initialize serial communication at 9600 bits per second:
  Serial.begin(9600);


  digitalWrite(CS_Pin,LOW); 
  shiftOut(DIN_Pin,CLK_Pin,MSBFIRST,0xFF);
  digitalWrite(CS_Pin,HIGH);
}


// the loop routine runs over and over again forever:
void loop() {

  // read the input on analog pin 0:
  int sensorValue = analogRead(A0);
  float voltage= sensorValue * (5.0 / 1023.0);   //換算成電壓
  // print out the value you read:
  Serial.println(voltage,DEC);
  delay(100);        // delay in between reads for stability
}

STM32搭建工程驗(yàn)證

說(shuō)明:STM32使用的供電電壓和數(shù)字電位計(jì)參考電壓都是3V3,相應(yīng)的輸出結(jié)果也是在0~3V3范圍

圖片

電路原理圖

引腳對(duì)應(yīng)關(guān)系:

PA4 -> CLK

PA5 -> DIN

PA6 -> CS

3V3 -> VCC、VREF

arduino uno 引腳GND -> GND、L

arduino uno 引腳A0 -> VRES-OUT

開(kāi)發(fā)板+面包板搭建電路

圖片

用STM32CubeIDE建立一個(gè)工程

圖片

配置好PA4、PA5、PA6引腳為輸出

圖片

生成代碼,并添加TLP0501的驅(qū)動(dòng)代碼

圖片

編譯看運(yùn)行的效果,輸入值為0x55

更改輸入的數(shù)值為0x22,驗(yàn)證是否正確

圖片

main函數(shù)代碼部分:

/* USER CODE BEGIN Header */
/**
  ******************************************************************************
  * @file           : main.c
  * @brief          : Main program body
  ******************************************************************************
  * @attention
  *
  * < h2 >< center >? Copyright (c) 2021 STMicroelectronics.
  * All rights reserved.< /center >< /h2 >
  *
  * This software component is licensed by ST under BSD 3-Clause license,
  * the "License"; You may not use this file except in compliance with the
  * License. You may obtain a copy of the License at:
  *                        opensource.org/licenses/BSD-3-Clause
  *
  ******************************************************************************
  */
/* USER CODE END Header */
/* Includes ------------------------------------------------------------------*/
#include "main.h"


/* Private includes ----------------------------------------------------------*/
/* USER CODE BEGIN Includes */


/* USER CODE END Includes */


/* Private typedef -----------------------------------------------------------*/
/* USER CODE BEGIN PTD */


/* USER CODE END PTD */


/* Private define ------------------------------------------------------------*/
/* USER CODE BEGIN PD */


#define TLP0501_DIN_H()    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_SET)
#define TLP0501_DIN_L()    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET)


#define TLP0501_CS_H()     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_SET)
#define TLP0501_CS_L()     HAL_GPIO_WritePin(GPIOA, GPIO_PIN_6, GPIO_PIN_RESET)


#define TLP0501_CLK_H()    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_SET)
#define TLP0501_CLK_L()    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4, GPIO_PIN_RESET)




/* USER CODE END PD */


/* Private macro -------------------------------------------------------------*/
/* USER CODE BEGIN PM */


/* USER CODE END PM */


/* Private variables ---------------------------------------------------------*/


/* USER CODE BEGIN PV */


/* USER CODE END PV */


/* Private function prototypes -----------------------------------------------*/
void SystemClock_Config(void);
static void MX_GPIO_Init(void);
/* USER CODE BEGIN PFP */


/* USER CODE END PFP */


/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
void TLP0501_WriteByte( uint8_t data )
{
    uint8_t j;
    for ( j=8; j >=1; j--)
    {
        TLP0501_CLK_L();
        __NOP();
        if(data & 0x80 ){   TLP0501_DIN_H();    }
        else            {   TLP0501_DIN_L();    }
        data < <= 1;
        TLP0501_CLK_H();
    }
}




/* USER CODE END 0 */


/**
  * @brief  The application entry point.
  * @retval int
  */
int main(void)
{
  /* USER CODE BEGIN 1 */


  /* USER CODE END 1 */


  /* MCU Configuration--------------------------------------------------------*/


  /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
  HAL_Init();


  /* USER CODE BEGIN Init */


  /* USER CODE END Init */


  /* Configure the system clock */
  SystemClock_Config();


  /* USER CODE BEGIN SysInit */


  /* USER CODE END SysInit */


  /* Initialize all configured peripherals */
  MX_GPIO_Init();
  /* USER CODE BEGIN 2 */


  TLP0501_CS_L();
  TLP0501_WriteByte(0x22);
  TLP0501_CS_H();




  /* USER CODE END 2 */


  /* Infinite loop */
  /* USER CODE BEGIN WHILE */
  while (1)
  {
    /* USER CODE END WHILE */




    /* USER CODE BEGIN 3 */
  }




  /* USER CODE END 3 */
}


/**
  * @brief System Clock Configuration
  * @retval None
  */
void SystemClock_Config(void)
{
  RCC_OscInitTypeDef RCC_OscInitStruct = {0};
  RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};


  /** Initializes the RCC Oscillators according to the specified parameters
  * in the RCC_OscInitTypeDef structure.
  */
  RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
  RCC_OscInitStruct.HSIState = RCC_HSI_ON;
  RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
  RCC_OscInitStruct.PLL.PLLState = RCC_PLL_NONE;
  if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK)
  {
    Error_Handler();
  }
  /** Initializes the CPU, AHB and APB buses clocks
  */
  RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK
                              |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2;
  RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_HSI;
  RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
  RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
  RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV1;


  if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0) != HAL_OK)
  {
    Error_Handler();
  }
}


/**
  * @brief GPIO Initialization Function
  * @param None
  * @retval None
  */
static void MX_GPIO_Init(void)
{
  GPIO_InitTypeDef GPIO_InitStruct = {0};


  /* GPIO Ports Clock Enable */
  __HAL_RCC_GPIOD_CLK_ENABLE();
  __HAL_RCC_GPIOA_CLK_ENABLE();


  /*Configure GPIO pin Output Level */
  HAL_GPIO_WritePin(GPIOA, GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6, GPIO_PIN_RESET);


  /*Configure GPIO pins : PA4 PA5 PA6 */
  GPIO_InitStruct.Pin = GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_6;
  GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
  GPIO_InitStruct.Pull = GPIO_NOPULL;
  GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);


}


/* USER CODE BEGIN 4 */


/* USER CODE END 4 */


/**
  * @brief  This function is executed in case of error occurrence.
  * @retval None
  */
void Error_Handler(void)
{
  /* USER CODE BEGIN Error_Handler_Debug */
  /* User can add his own implementation to report the HAL error return state */


  /* USER CODE END Error_Handler_Debug */
}


#ifdef  USE_FULL_ASSERT
/**
  * @brief  Reports the name of the source file and the source line number
  *         where the assert_param error has occurred.
  * @param  file: pointer to the source file name
  * @param  line: assert_param error line source number
  * @retval None
  */
void assert_failed(uint8_t *file, uint32_t line)
{
  /* USER CODE BEGIN 6 */
  /* User can add his own implementation to report the file name and line number,
     tex: printf("Wrong parameters value: file %s on line %drn", file, line) */
  /* USER CODE END 6 */
}
#endif /* USE_FULL_ASSERT */


/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/

總結(jié):

1、這里介紹了眾多新IC芯片調(diào)試方式中的一種,后期有機(jī)會(huì)再陸續(xù)介紹其他IC或新模塊的調(diào)試方法。

2、文中只是簡(jiǎn)單的對(duì)芯片進(jìn)行功能測(cè)試,實(shí)際項(xiàng)目中還會(huì)有移植、驅(qū)動(dòng)的可靠性、穩(wěn)定性等測(cè)試工作 。

3、我們要善于運(yùn)用手頭的工具、arduino等快速驗(yàn)證開(kāi)發(fā)環(huán)境;模塊的快速驗(yàn)證,特別是在項(xiàng)目開(kāi)發(fā)過(guò)程中,時(shí)間就是金錢(qián),對(duì)每一種工具的熟練掌握也是單片機(jī)開(kāi)發(fā)過(guò)程中不可或缺的重要技能。

4、硬件調(diào)試與軟件調(diào)試有很大的區(qū)別,很多時(shí)候是一次性,不可逆轉(zhuǎn)的,不像軟件Ctl+Z可以撤銷(xiāo);硬件在使用過(guò)程中出現(xiàn)意外損壞情況很正常:焊接不當(dāng)、意外插錯(cuò),靜電防護(hù)不到位等等;我們要善于運(yùn)用一些項(xiàng)目技巧,權(quán)衡時(shí)間或花費(fèi);這里之所以選擇焊接兩個(gè)芯片模塊也是為了防止這種意外的發(fā)生而對(duì)調(diào)試造成不必要的時(shí)間耽擱。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 電路圖
    +關(guān)注

    關(guān)注

    10414

    文章

    10738

    瀏覽量

    543166
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44991

    瀏覽量

    650401
  • IC芯片
    +關(guān)注

    關(guān)注

    8

    文章

    255

    瀏覽量

    27120
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

    192145
  • 面包板
    +關(guān)注

    關(guān)注

    4

    文章

    299

    瀏覽量

    18156
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)串口模塊調(diào)試方法

    筆者在調(diào)試某Cortex-M3內(nèi)核單片機(jī)時(shí)遇到一個(gè)問(wèn)題,此單片機(jī)不具備在線仿真功能,因此調(diào)試代碼時(shí)只能使用UART輸出Log的方式調(diào)試
    發(fā)表于 07-28 15:48 ?1934次閱讀
    <b class='flag-5'>單片機(jī)</b>串口模塊<b class='flag-5'>調(diào)試</b><b class='flag-5'>方法</b>

    單片機(jī)教材書(shū)籍,王云51單片機(jī)C語(yǔ)言程序設(shè)計(jì)教程(pdf書(shū)本樣章)

    `本書(shū)特色:本書(shū)巧妙地將對(duì)單片機(jī)原理的講述與硬件實(shí)驗(yàn)設(shè)備結(jié)合起來(lái),列舉了大量有趣易懂的小例子,深入淺出地用實(shí)操案例來(lái)講述單片機(jī)的工作原理、擴(kuò)展知識(shí)、編程技巧,講授單片機(jī)項(xiàng)目開(kāi)發(fā)的流程及
    發(fā)表于 11-19 19:41

    單片機(jī)如何控制調(diào)試信息輸出

    單片機(jī)調(diào)試log信息輸出控制方法因子最近在研發(fā)公司項(xiàng)目:基于無(wú)線通信的****物聯(lián)網(wǎng)應(yīng)用。過(guò)程中涉及到了多個(gè)程序模塊,包括MQTT、JSON解析、二維碼生成等。在
    發(fā)表于 01-27 07:18

    單片機(jī)的在線調(diào)試方法

    本文主要講述的是單片機(jī)的在線調(diào)試方法。
    發(fā)表于 04-22 16:43 ?34次下載

    ARM單片機(jī)開(kāi)發(fā)調(diào)試方法

    ARM單片機(jī)開(kāi)發(fā)調(diào)試方法
    發(fā)表于 07-25 13:21 ?36次下載

    單片機(jī)開(kāi)發(fā)調(diào)試應(yīng)注意的問(wèn)題

    單片機(jī)開(kāi)發(fā)調(diào)試應(yīng)注意的問(wèn)題 1、使用總線不外引的單片機(jī) ·是最正統(tǒng)的單片機(jī)使用模式 ·符合小型、簡(jiǎn)單、可靠、廉價(jià)的單片機(jī)設(shè)計(jì)初衷
    發(fā)表于 03-26 12:30 ?1803次閱讀

    單片機(jī)最小系統(tǒng)的調(diào)試方法_單片機(jī)最小系統(tǒng)設(shè)計(jì)制作及開(kāi)發(fā)流程

    本文主要介紹了單片機(jī)最小系統(tǒng)的調(diào)試方法單片機(jī)最小系統(tǒng)設(shè)計(jì)制作及開(kāi)發(fā)流程。
    的頭像 發(fā)表于 04-24 09:35 ?1.3w次閱讀
    <b class='flag-5'>單片機(jī)</b>最小系統(tǒng)的<b class='flag-5'>調(diào)試</b><b class='flag-5'>方法</b>_<b class='flag-5'>單片機(jī)</b>最小系統(tǒng)設(shè)計(jì)制作及開(kāi)發(fā)流程

    單片機(jī)程序常用的幾種調(diào)試方法

    單片機(jī)程序常用的幾種調(diào)試方法,這些調(diào)試方法都需要結(jié)合電腦上位機(jī),以下我羅列一些
    發(fā)表于 07-17 09:31 ?1.3w次閱讀

    Keil5創(chuàng)建51單片機(jī)項(xiàng)目中CPU顯示為空

    Keil5創(chuàng)建51單片機(jī)項(xiàng)目中CPU顯示為空
    發(fā)表于 11-23 16:36 ?12次下載
    Keil5創(chuàng)建51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>項(xiàng)目中</b>CPU顯示為空

    單片機(jī)控制調(diào)試信息輸出的方法

    單片機(jī)調(diào)試log信息輸出控制方法因子最近在研發(fā)公司項(xiàng)目:基于無(wú)線通信的****物聯(lián)網(wǎng)應(yīng)用。過(guò)程中涉及到了多個(gè)程序模塊,包括MQTT、JSON解析、二維碼生成等。在
    發(fā)表于 12-03 12:06 ?0次下載
    <b class='flag-5'>單片機(jī)</b>控制<b class='flag-5'>調(diào)試</b>信息輸出的<b class='flag-5'>方法</b>

    單片機(jī)項(xiàng)目中LED的重要性~

    很多初學(xué)者覺(jué)得自己學(xué)的東西很基礎(chǔ),擔(dān)心今后實(shí)際工作用不到。有初學(xué)者問(wèn)了這樣的問(wèn)題:單片機(jī)真正開(kāi)發(fā)產(chǎn)品和學(xué)習(xí)的時(shí)候有什么差別,平時(shí)學(xué)的LED、ADC這些東西,在實(shí)際項(xiàng)目中會(huì)用到嗎?雖然技術(shù)更...
    發(fā)表于 12-29 19:28 ?2次下載
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>項(xiàng)目中</b>LED的重要性~

    單片機(jī)常用的調(diào)試方法

    單片機(jī)程序調(diào)試過(guò)程中,串口打印調(diào)試方法是非常重要的手段,在使用串口調(diào)試時(shí),我們更多的是使用printf。但是下面我們不介紹printf,介
    的頭像 發(fā)表于 04-04 14:58 ?5627次閱讀

    51單片機(jī)串口配置方法

    串口,作為單片機(jī)程序開(kāi)發(fā)中最常用、最方便,也是應(yīng)用最廣泛的程序調(diào)試方法;無(wú)論是作為調(diào)試工具,打印出調(diào)試信息,還是對(duì)功能模塊進(jìn)行通信,串口是每
    的頭像 發(fā)表于 04-14 14:58 ?6269次閱讀
    51<b class='flag-5'>單片機(jī)</b>串口配置<b class='flag-5'>方法</b>

    單片機(jī)開(kāi)發(fā)調(diào)試工具有哪些?

    單片機(jī)調(diào)試是一個(gè)有條不紊的過(guò)程,用于查找和減少單片機(jī)程序中的錯(cuò)誤數(shù)量,使其按預(yù)期工作。有時(shí)候,單片機(jī)程序調(diào)試很困難,因?yàn)槟骋粋€(gè)系統(tǒng)模塊中的
    的頭像 發(fā)表于 07-07 12:29 ?2002次閱讀

    單片機(jī)項(xiàng)目中LED的重要性

    單片機(jī)項(xiàng)目中LED的重要性
    的頭像 發(fā)表于 09-18 16:19 ?1160次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>項(xiàng)目中</b>LED的重要性