教具手提箱项目笔记

项目 开发四块单片机板
第一块 是串口通讯功能
使用MP2359 12v转5V然后再转3.3V
但是 12V经MP2359出来没有5v经检测是原理图画错了,把 3和6短路了 隔开后正常输出
芯片用stm32f103c8t6
下载用SWD模式 板子出来可以烧写程序,但是一开始好像程序没有运行,点灯 开蜂鸣器测试的
最后检测是 软件程序写的不对,更改一下就可以了

VBAT没有接 但是可以工作 flash算法用的16K的可以烧写 起始地址是0x08000000 size = 10000 只要起始地址相同不超容量flash就可以

测试通讯USART1收发都正常

第二块 是CAN通讯功能
用的TJA1050 测试功能正常

第三块 是USB通讯
测试虚拟串口实验
接上后显示未识别的设备,查看检查电路发现D+ D-串的电阻阻值应该是10 结果结成10K 原理图中没有修改电阻值,
然后D+上拉电阻也是10k应该是1.5K,而且上拉接到了D-上,应该接D+,修改完后就正常了
USB接口布局没有考虑高度问题,导致USB线插不上

这几块的通病是二极管封装不对, LED灯布局太靠近,教具端子孔径小了,

第四块 主板
stm32f103zet6
板子送来后先测试的点灯,发现不亮 量了一下IO电压 发现和程序不一致,怀疑板子没有工作,但是可以烧写程序,然后检测了一遍电路, 因为没有敷铜怀疑是GND连接不好, 又检测了一遍,但是没有问题,
然后又怀疑晶振,虽然晶振是不对但是还不是原因,现象和程序对不上, 但是调试中发现原因是程序在某处阻塞,一点点测试最终发现是程序串口2阻塞,
检查配置发现还是老问题,没有注意,把串口1的配置过程修改为串口2 的过程中 时钟使能配置没有该对
正确是
RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //使能USART2,GPIOA时钟
原串口1是
RCC_APB2PeriphClockCmd(RCC_APB1Periph_USART1|RCC_APB2Periph_GPIOA, ENABLE);
我值修改了
成RCC_APB2PeriphClockCmd(RCC_APB1Periph_USART2|RCC_APB2Periph_GPIOA, ENABLE);
修改后就正常了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值