使用DeepSeek完成一个简单嵌入式开发

开启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. 工程配置
c 复制代码
// 文件结构
- Project/
  - CMSIS/              // STM32固件库
  - User/
    - main.c           // 主程序
    - stm32f10x_it.c   // 中断服务
2. 代码实现
c 复制代码
#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    GPIOA

void 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);
    }
}

三、关键调试步骤

  1. 硬件调试

    • 测量3.3V电源是否稳定
    • 检查复位信号电平(正常为高电平)
    • 用万用表验证LED通路
  2. 软件调试

    • 使用ST-Link下载程序
    • 在Keil中单步调试GPIO寄存器
    • 调整Delay()参数控制流水速度

四、注意事项

  1. 焊接时注意STM32芯片方向(第1脚标识)
  2. LED极性:长脚为正极(原理图中需方向一致)
  3. 若使用硬件定时器替代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如何接招,哈哈哈!

相关推荐
想要成为计算机高手3 小时前
OpenVLA:开源的视觉-语言-动作模型
ai·自然语言处理·开源·大模型·视觉处理·openvla
选型宝5 小时前
腾讯怎样基于DeepSeek搭建企业应用?怎样私有化部署满血版DS?直播:腾讯云X DeepSeek!
人工智能·ai·云计算·腾讯云·选型宝
码码哈哈爱分享5 小时前
开源Heygem本地跑AI数字人视频教程
ai
s1ckrain6 小时前
嵌入式操作系统学习笔记
学习·嵌入式·ucosii
伊织code6 小时前
PyTorch API 7 - TorchScript、hub、矩阵、打包、profile
人工智能·pytorch·python·ai·矩阵·api
剑鞘的流苏6 小时前
STM32-USART串口通信(9)
stm32·单片机·嵌入式硬件
AI不止绘画7 小时前
分享一个可以用GPT打标的傻瓜式SD图片打标工具——辣椒炒肉图片打标助手
人工智能·ai·aigc·图片打标·图片模型训练·lora训练打标·sd打标
RebekahHQ8 小时前
Deepseek+Xmind:秒速生成思维导图与流程图
流程图·xmind·思维导图·deepseek
憧憬一下9 小时前
stm32之FLASH
stm32·单片机·嵌入式
迅易科技11 小时前
当数控编程“联姻”AI:制造工厂的“智能大脑”如何炼成?
人工智能·ai·知识图谱·ai编程·deepseek