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

news/2025/3/17 15:28:36/

DeepSeek_0">开启DeepSeek对话

在这里插入图片描述
请帮我使用Altium Designer设计原理图、PCB,使用keil完成代码编写;要求:使用stm32F103RCT6为主控芯片,控制3个流水灯的原理图
这里需要注意,每次DeepSeek的回答都不太一样。

DeepSeek_5">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);}
}

三、关键调试步骤

  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如何接招,哈哈哈!


http://www.ppmy.cn/news/1579840.html

相关文章

PHP与数据库连接常见问题及解决办法

PHP与数据库连接常见问题及解决办法 在现代Web开发中,PHP与数据库的连接是不可或缺的一部分。无论是构建动态网站、内容管理系统(CMS)还是电子商务平台,PHP与数据库的交互都是核心功能之一。然而,在实际开发过程中&am…

OpenAI与谷歌DeepMind新品同日竞技,谁能引领机器人现实任务新潮流?

2025年3月12日,科技巨头谷歌DeepMind与OpenAI均发布了与机器人执行现实任务相关的新产品:谷歌DeepMind的新AI模型、OpenAI的Agents工具集,二者在技术路径、应用场景、安全机制设计等方面存在明显差异,其发展态势备受行业关注。 …

SpringBoot 和vue前后端配合开发网页拼图10关游戏源码技术分享

今天分享一个 前后端结合 的网页游戏 开发项目源码技术。 这也是我第一次写游戏类的程序,虽然不是特别复杂的游戏,但是是第一次写,肯定要记录一下了,哈哈。 游戏的内容 就是 我们显示中玩的那个 拼图碎片的 游戏,类似下…

deepseek GRPO算法保姆级讲解(数学原理+源码解析+案例实战)

文章目录 什么是GRPO群组形成(Group Formation):让大模型创建多种解决方案偏好学习(Preference Learning):让大模型理解何为好的解答组内相对优势 优化(optimization): 让大模型从经验中学习(learning from experience)目标函数 GRPO算法的伪码表示GRPO算法的局限与…

【无监督学习】DBSCAN 聚类步骤及matlab实现

DBSCAN 聚类 DBSCAN 聚类算法1.参数选择2.算法步骤3.MATLAB 实现参考资料 DBSCAN 聚类算法 DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,它能够发现任意形状的簇,并且可以有效…

进制转换(十进制相关)

P进制数x→十进制数y int y 0, product 1;//y十进制数&#xff0c;product记录权重 while(x ! 0){y (x % 10) * product;//x%10获取x的个位数x / 10;//去掉x的个位product * p;//下一权重 }8. 九进制转十进制 #include<iostream> using namespace std; int main(){i…

Python 基础知识整理笔记

闹麻了&#xff0c;因为各种原因&#xff0c;现在需要重新回顾一下Python&#xff0c;话不多说&#xff0c;开始吧 1. Python是解释型语言 && Python与C代码执行过程的区别&#xff1a; &#xff08;1&#xff09;C 源码&#xff08;Source&#xff09;&#xff1a;C的…

Deepseek学习--工具篇之Ollama

Deepseek学习--工具篇之Ollama 用途特点简化部署‌轻量级与可扩展性‌API支持‌预构建模型库‌模型导入与定制‌跨平台支持‌命令行工具与环境变量‌ 来源缘起诞生爆发持续 安装使用方法下载安装安装模型调用API 用途 我们在进行Deepseek本地部署的时候&#xff0c;通常会用到…