開啟DeepSeek對話
請幫我使用Altium Designer設計原理圖、PCB,使用keil完成代碼編寫;要求:使用stm32F103RCT6為主控芯片,控制3個流水燈的原理圖
這里需要注意,每次DeepSeek的回答都不太一樣。
DeepSeek回答
以下是使用STM32F103RCT6控制3個流水燈的完整設計流程,分為硬件設計和軟件開發兩部分:
一、硬件設計(Altium Designer)
1. 原理圖設計
1.1 STM32最小系統
- 主控芯片:STM32F103RCT6(LQFP64封裝)
- 電源電路:
- 3.3V穩壓芯片(如AMS1117-3.3)
- 輸入電容:10μF(陶瓷電容)
- 輸出電容:10μF + 0.1μF(濾波)
- 復位電路:
- 10kΩ上拉電阻 + 100nF電容 + RESET按鈕
- 時鐘電路:
- 8MHz晶振(并聯2×22pF負載電容)
- 32.768kHz RTC晶振(可選)
1.2 LED驅動電路
- LED連接:
- 3個LED(D1-D3),每個串聯220Ω限流電阻
- 正極連接STM32的GPIO引腳(如PA0、PA1、PA2)
- 負極接地(共地設計)
該圖片未刷新出來
2. PCB設計
2.1 布局要點
- 主控芯片居中,電源模塊靠近電源輸入
- LED和電阻靠近板邊(方便觀察)
- 晶振盡量靠近芯片,避免長走線
2.2 布線規則
- 電源線寬:20mil(主電源)、15mil(3.3V)
- 信號線寬:10-12mil
- 間距:≥8mil
- 添加地平面鋪銅(降低噪聲)
2.3 關鍵檢查
- DRC規則驗證
- 網絡連通性檢查
- 3D模型裝配驗證
二、軟件開發(Keil MDK)
1. 工程配置
// 文件結構
- Project/- CMSIS/ // STM32固件庫- User/- main.c // 主程序- stm32f10x_it.c // 中斷服務
2. 代碼實現
#include "stm32f10x.h"// LED引腳定義
#define LED1_PIN GPIO_Pin_0
#define LED2_PIN GPIO_Pin_1
#define LED3_PIN GPIO_Pin_2
#define LED_PORT GPIOAvoid GPIO_Config(void) {GPIO_InitTypeDef GPIO_InitStructure;// 使能GPIOA時鐘RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);// 配置PA0-PA2為推挽輸出GPIO_InitStructure.GPIO_Pin = LED1_PIN | LED2_PIN | LED3_PIN;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(LED_PORT, &GPIO_InitStructure);
}void Delay(uint32_t nCount) {for(; nCount != 0; nCount--);
}int main(void) {GPIO_Config();while(1) {// LED流水燈邏輯GPIO_SetBits(LED_PORT, LED1_PIN);GPIO_ResetBits(LED_PORT, LED2_PIN | LED3_PIN);Delay(500000);GPIO_SetBits(LED_PORT, LED2_PIN);GPIO_ResetBits(LED_PORT, LED1_PIN | LED3_PIN);Delay(500000);GPIO_SetBits(LED_PORT, LED3_PIN);GPIO_ResetBits(LED_PORT, LED1_PIN | LED2_PIN);Delay(500000);}
}
三、關鍵調試步驟
-
硬件調試
- 測量3.3V電源是否穩定
- 檢查復位信號電平(正常為高電平)
- 用萬用表驗證LED通路
-
軟件調試
- 使用ST-Link下載程序
- 在Keil中單步調試GPIO寄存器
- 調整Delay()參數控制流水速度
四、注意事項
- 焊接時注意STM32芯片方向(第1腳標識)
- LED極性:長腳為正極(原理圖中需方向一致)
- 若使用硬件定時器替代Delay(),可提高代碼效率
如需更詳細的原理圖符號/封裝庫或完整工程文件,可提供郵箱地址發送。
能否替代我-分析
1.首先我想要的是Altium Designer設計原理圖、PCB文件,它沒有給我工程文件,僅僅給出了一大堆原理圖和PCB設計時候需要的注意事項;這里有個圖片一直沒有刷新出來,DeepSeek還需要多努力;
2.其次我想使用keil完成代碼編寫,也沒有給到工程文件,僅僅給到我一些工程搭建步驟和注意事項,注意這里給出來了代碼片段,代碼基本上實現了三個流水的的動作邏輯;并且使用的管教就是原理圖中的管教,軟硬件有邏輯關系;
3.最后還貼心的給出來了調試步驟,嵌入式開發調試是非常關鍵的,這個調試步驟是有點經驗的給出來的了,要先調試硬件,硬件先調試電源、復位、晶振等
能否替代我-結論
不可以替代碼農,更不能替代硬件工程師,我想要DeepSeek給我原理圖、PCB工程文件,我不想用Altium Designer畫圖,我想要keil工程,而不是代碼片段,看來我不用AI焦慮了,至少10年,畫板子、調代碼的工作它還是取代不了我。讓DeepSeek更強大吧!!!
后續
使用Altium Designer工程,最后是生成gerber文件和bom表,使用keil工程,主要是生成hex文件,我下次可以直接試試讓DeepSeek直接生成gerber文件和bom表、hex文件,看看DeepSeek如何接招,哈哈哈!