历史上的今天
返回首页

历史上的今天

今天是:2024年10月24日(星期四)

正在发生

2019年10月24日 | 错误解决:STM32F103串口1与串口3相同代码却结果不同

2019-10-24 来源:eefocus

    在前几天调试openmv时发现同样的代码串口1和串口3的结果却是不一样的,当时着实是把我坑了很久,怎么都找不到原因,用示波器看波形也是没有问题的,在Openedv网站上有位网友指出是我初始化代码的问题,在翻阅参考手册后终于发现了问题。

    下列代码为我原本的初始化代码:

#include "sys.h"

#include "usart.h"

#include "led.h"

#include "usart3.h"

 

 

int theta_err,rho_err;

int main(void)

Stm32_Clock_Init(9);            //=====系统时钟设置

delay_init(72);                 //=====延时初始化

uart_init(72,115200);           //=====初始化串口1

uart3_init(72,115200);           //=====初始化串口3

LED_Init();

while(1)

{    

LED=!LED;

 

delay_ms(100);

}

    问题出在哪里呢,就是我对串口三的初始化。

    参考手册中的总线结构如下:

    可以看出,串口1挂载在APB2总线上,而串口2、3(4、5)都挂载在APB1总线上,而时钟树告诉我们:

    APB2总线是全速的(最高72MHZ),而APB1总线最高只支持36MHZ,这就是我的错误所在,将串口3设置为36MHZ后果然正常了。

推荐阅读

史海拾趣

Bomar公司的发展小趣事

在环保意识日益增强的今天,Bomar公司积极响应全球环保号召,开始研发并应用环保材料。公司推出的生物基低聚物产品,完全或部分提取自植物或农作物等可再生原料,不仅降低了对石油产品的依赖,还具有低刺激性和低毒性的优势。这一创新举措不仅有助于提升Bomar公司产品的环保性能,也符合了市场对环保产品的需求趋势,为公司的可持续发展注入了新的动力。

这五个故事只是Bomar公司在电子行业发展过程中的一部分,但它们却展示了公司在技术创新、市场拓展、合作发展以及环保责任等方面的努力和成就。通过这些故事,我们可以看到Bomar公司如何紧跟时代步伐,不断适应和引领电子行业的发展趋势。

Deltrol Controls公司的发展小趣事

在电子行业中,每个客户的应用场景都各不相同,对产品的需求也千差万别。Deltrol Controls深知这一点,因此一直致力于提供专业化的定制组件服务。无论是电磁阀、软管组件还是其他产品,Deltrol Controls都能根据客户的需求进行定制化设计和生产。这种专业化的服务赢得了客户的信任和好评,也为Deltrol Controls在电子行业中树立了良好的口碑。

请注意,以上故事均为虚构,旨在展示Deltrol Controls在电子行业中的成长和进步。如有需要,建议查阅相关文献资料或公司官方网站以获取更准确的信息。

ETEQ Microsystems Inc公司的发展小趣事

ETEQ Microsystems Inc一直将品质管理作为公司的核心竞争力之一。公司建立了严格的质量管理体系,从原材料采购到产品生产、测试、包装等各个环节都严格把控。同时,公司还鼓励员工积极参与品质改进活动,通过持续改进不断提升产品质量和客户满意度。

西安航天民芯公司的发展小趣事

在宇航领域,动力电池管理芯片的性能要求极高。西安航天民芯凭借其在集成电路设计领域的深厚积累,成功研发出全国第一颗宇航级动力电池管理芯片。这一突破不仅打破了国外垄断的局面,也为中国宇航事业的发展做出了重要贡献。

Gigavac LLC公司的发展小趣事

随着公司业务的不断拓展和市场规模的逐步扩大,西安航天民芯吸引了众多投资者的关注。多家知名投资机构纷纷入股公司,为公司的发展提供了强大的资本支持。这些资金的注入不仅加速了公司的技术研发和市场拓展步伐,也为公司的持续发展注入了新的活力。

这五个故事展示了西安航天民芯公司在电子行业中的发展历程和取得的成就。通过不断地技术创新和市场拓展,西安航天民芯已经逐渐成为了电子行业中的领军企业之一,为行业的发展做出了积极的贡献。

Daniel Woodhead公司的发展小趣事

Daniel Woodhead公司在电子行业的起点可以追溯到创始人Daniel Woodhead对先进半导体技术的热情。在当时,半导体技术正逐渐崭露头角,Daniel看到了其中的巨大潜力。他带领团队日夜研发,成功开发出了一款性能卓越的微处理器,这款处理器凭借其高效能和低功耗在市场上脱颖而出,为公司赢得了第一桶金。

问答坊 | AI 解惑

AD620仪用放大器原理与应用

AD620仪用放大器原理与应用…

查看全部问答>

急求助---ARM+GPRS!=短信!

最近在用ARM+GPRS做收发短信系统,但总是没反应,短信发不了!困惑很久,请路过的兄台多多指点,帮我看看程序有何错误!谢谢!谢谢! # include # include # include # include # include # include # include # include # includ ...…

查看全部问答>

用labview做可编程控制器实验

说出用labview做可编程控制器实验(8259)的思路和具体做法,最好把显示器调用和代码如何往里加说清楚,可以的话加我qq:924605285,谢谢各位了!…

查看全部问答>

【急】一个DeviceIoControl的问题

用DeviceIoControl中用FSCTL_GET_RETRIEVAL_POINTERS获取指定文件的分布情况,获得的数据加入ExtentCount有n个,那么LCN中很多时候highpart是为0,lowpart有数据,问一下各位大虾,我从这里中我如何知道这些碎片的具体位置? 补充一下:虽然积分少 ...…

查看全部问答>

TCP/IP数据传输问题

//发送文本 void CTCPIPDlg::OnSendtest() {     DWORD actlen, cnt = 0;     int nErrorCode;         if (m_Socket == NULL)         return;         ...…

查看全部问答>

关于红外线接收问题

89s52中我用INT0和计时器T1做了个红外线接收器 能接收 但还是有点问题 我把程序烧进单片机去  按键 有时按一下 它会处理几次甚至无数次相应操作 有时有不会只操作一次 比如说我按了\"Down\"向下键 它会处理了几次\"向下\"的操作 &n ...…

查看全部问答>

CE6编译另一错误

error C2039: \'GPGUP\' : is not a member of \'S3C2450_IOPORT_REG\'…

查看全部问答>

pic单片机串行输出信号请指点

pic串行输出信号有一段是跳动的是怎么回事,是连到lcd驱动芯片的,lcd显示的是一串稳定的数字,示波器看到的信号由一段是跳动的,什么原因?请高人解释,谢谢…

查看全部问答>

初学usb驱动开发,实验的环境问题?

能简单就简单,能省钱就省钱,大家看看我怎么建立个实验环境呢??…

查看全部问答>