STM32 基于正电原子开发板,改换芯片为STM32F103R6,Proteus仿真的一些问题

最近在学STM32,网上收集了一些信息,最后用正点原子的开发板来学习。

MDK的配置请参考原子哥的资料,我主要的学习方法是参考原子哥的开发板与实验案例,改换不一样的芯片,也要做出的一样的效果。但在最基础的入门就遇到了不少问题。

入门的流水灯发现更改芯片后,用原子哥的程序在Proteus仿真过程中,LED灯会非常快速的闪炼,我原以为可能是原子哥用的是外部晶振,而我是用HIS导致的,但用了外部晶振后,结果还是一样。最后我自己写了一个延迟函数,就可以正常点亮LED,而且延迟也正常。

下图是无外部晶振LED快速闪烁的图片
上图是无外部晶振LED快速闪烁的图片
下图是带外部晶振LED快速闪烁的图片
带外部晶振
Main.c

#include "led.h"
#include "delay.h"
#include "sys.h"/* 这个是我自己写的延迟函数
void Delay(u32 t)            //延时函数
{u16 i;while(t--)for(i=0;i<1000;i++);
}
*/int main(void)
{delay_init(); //延时函数初始化LED_Init(); //初始化与 LED 连接的硬件接口while(1){ LED0=0;LED1=1;//Delay(500); //调自己写的延迟函数delay_ms(500); //延时 500msLED0=1;LED1=0;//Delay(500); //调自己写的延迟函数delay_ms(500);			//延时 500ms}
}当用改用自己的延迟函数时个LED可以正常灯亮

LED.c

#include "led.h"void LED_Init(void)
{GPIO_InitTypeDef  GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能 PC端口时钟GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1; //LED0-->PC.0 LED1-->PC.1端口配置GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO 口速度为 50MHzGPIO_Init(GPIOC, &GPIO_InitStructure); //初始化 GPIOC.0 GPIOC.1GPIO_SetBits(GPIOC,GPIO_Pin_0|GPIO_Pin_1); 
}

下面是改用自己的延迟函数可以正常点亮LED,延迟也正常。
在这里插入图片描述
在这里插入图片描述
现在问题是为什么调用正点原子的延迟函数不能正常工作呢?

请各位大神赐教!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260921.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

深入理解闭包系列第二篇——从执行环境角度看闭包

前面的话 本文从执行环境的角度来分析闭包&#xff0c;先用一张图开宗明义&#xff0c;然后根据图示内容对代码进行逐行说明&#xff0c;试图对闭包进行更直观的解释 图示 说明 下面按照代码执行流的顺序对该图示进行详细说明 function foo(){var a 2;function bar(){console.…

没事写着玩 系列之 JQ连连看(很丑陋,很初级)

说明:(图片自备, 名称为 jpg[0,2].jpg class为( one two three)对应 前面的 0,1,2) <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://ww…

VS2017 调用Tesseract

最近在学tesseract&#xff0c;但遇到太多的问题是。 虽然网上有不少的方法&#xff0c;就算是按照tersseract&#xff0c;github上提供的方法也是编译不成功。 问题一大堆。不过我也想到了其它方法最张还是可以用了。 我有2个方法&#xff0c; 方法1, 1&#xff0c;先build t…

最少步数----深搜

最少步数 时间限制&#xff1a;3000 ms | 内存限制&#xff1a;65535 KB难度&#xff1a;4描述这有一个迷宫&#xff0c;有0~8行和0~8列&#xff1a; 1,1,1,1,1,1,1,1,1 1,0,0,1,0,0,1,0,1 1,0,0,1,1,0,0,0,1 1,0,1,0,1,1,0,1,1 1,0,0,0,0,1,0,0,1 1,1,0,1,0,1,0,0,1 1,1,0,1…

由单例模式造成的内存泄漏

使用单例模式时&#xff0c;有时候不小心&#xff0c;就会很容易造成内容泄漏&#xff0c;如下代码所示&#xff1a;public class SingleInstance { private static volatile SingleInstance instance; private Context context; private SingleInstance(Context context) {thi…

在windows上安装OpenCV

在windows上安装OpenCV&#xff0c;官方提供的教程&#xff0c;我翻译了一下。如有不正解&#xff0c;请指正 使用git-bash&#xff08;版本> 2.14.1&#xff09;和cmake&#xff08;版本> 3.9.1&#xff09;安装 1.您必须下载cmake&#xff08;版本> 3.9.1&…

CFile、CStdioFile、FILE和其他文件操作(转)

CFile //创建/打开文件 CFile file; file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite);//文件打开模式可组合使用&#xff0c;用“|”隔开&#xff0c;常用的有以下几种&#xff1a; //CFile::modeCreate&#xff1a;以新建…

Oracle修改redo log大小的方法

目的:修改当前在线日志从默认50M增加至512M。1.查看当前日志组的状态SQL> select group#,members,bytes/1024/1024,status from v$log;GROUP# MEMBERS BYTES/1024/1024 STATUS---------- ---------- --------------- ----------------1 1 50 INACT…

算法竞赛入门经典 第一章 上机练习(C++代码)

//平均数&#xff08;average&#xff09; //输入3个整数&#xff0c;输出它们的平均值&#xff0c;保留3位小数。 #include<iostream> #include<iomanip> using namespace std; int main() { int a,b,c; cin>>a>>b>>c; double average(abc)/3; …

CMake 编译 OpenCV 项目,不是编译OpenCV, 用了之后才知道CMake也太好用了。

新建一个 CMakeList.txt 复制下面代码&#xff0c;并保存 cmake_minimum_required (VERSION 3.0)PROJECT(Chapter2)set (CMAKE_CXX_STANDARD 11)IF(EXISTS ${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake)conan_basic_setup() E…

Java Ajax jsonp 跨域请求

2019独角兽企业重金招聘Python工程师标准>>> 1. 什么是JSONP 一般来说位于 server1.example.com 的网页无法与不是 server1.example.com的服务器沟通&#xff0c;而 HTML 的<script> 元素是一个例外。利用 <script> 元素的这个开放策略&#xff0c;网页…

对IEnumerableT,IDictionaryTkey,TValue,ICollectionT,IListT的总结

1、IEnumerable<T>接口和IEnumerable接口 实现了IEnumerable接口的集合表明该集合能够提供一个enumerator(枚举器)对象&#xff0c;支持当前的遍历集合。IEnumerable接口只有一个成员GetEnumerator()方法。 IEnumerator接口实现了IEnumerator接口的集合实现了从一个元素到…

Backup--修改实例级别是否使用压缩备份的默认值

-- --修改实例级别是否使用压缩备份的默认值 USE master; GO EXEC sp_configure backup compression default, 1; RECONFIGURE WITH OVERRIDE;转载于:https://www.cnblogs.com/TeyGao/p/3519952.html

Java学习——Java运算符

位运算符 A 0011 1100 B 0000 1101 ----------------- A&b 0000 1100 A | B 0011 1101 A ^ B 0011 0001A << 2 1111 0000A >>> 2 0000 1111 ~A 1100 0011 例子 package import_test;public class Employee {public static void main(String args[])…

学习Python中用numpy与matplotlib遇到的一些数学函数与函数的绘图

学习Python中的一些数学函数与函数的绘图 主要用到numpy 与 matplotlib 如果有什么不正确&#xff0c;欢迎指教。 图片不知道怎样批量上传&#xff0c;一个一个怎么感觉很小&#xff0c;请见谅 自行复制拷贝&#xff0c;到vs&#xff0c;jupyter notebook, spyder都可以 函…

控制台输出

getchar() system("pause") getch()//<conio.h>转载于:https://www.cnblogs.com/lzihua/archive/2012/03/29/2422988.html

Linux基础之文件权限详解

Linux中对于权限的制定虽然没有Windows的那么精细&#xff0c;但是如果你了解并掌握Linux中文件的权限知识&#xff0c;也可以像Windows那样对权限做到精确配置。Linux中的文件权限是什么&#xff1f;如何查看Linux中的文件权限[rootlocalhost test]# ll -d /test/drwxr-xr-x. …

有这个OCR程序,不用再买VIP了,Python 调用百度OCR API

最近学习&#xff0c;很多东西都是视频&#xff0c;截图后&#xff0c;又想做成文档保存起来。 刚开始不多&#xff0c;打一下字就很快解决了。 随着时间的推移&#xff0c;现在越来越多的图了&#xff0c;管理起来确实不方便&#xff0c;打字有时也不能很快的解决。 所以就…

android apk如何入门

android自己摸索了6,7个月不知道算不算入门&#xff01;对了只是应用层apk! 说说我的情况&#xff01;有C语言基础&#xff0c;没有接触过JAVA语言。 1.先找视频教程看&#xff0c;mars老师的&#xff01;不要理会java语言&#xff01;4季一气看完&#xff01; 看了这个视频教程…

linux常用命令_Linux常用命令全称

从事IT行业的很多人都会使用Linux常用命令&#xff0c;但是知道这些常用命令全称的人并不多&#xff0c;让我们来看看这些常用命令对应的全称吧&#xff01;必备Linux命令和C语言基础_C语言_嵌入式开发工程师-创客学院​www.makeru.com.cnpwd:print work directory 打印当前目录…