这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【原创】嵌入式芯片学习心得--from梅诗兰

共1条 1/1 1 跳转至

【原创】嵌入式芯片学习心得--from梅诗兰

助工
2023-11-18 21:53:31   被打赏 50 分(兑奖)     打赏

嵌入式即嵌入式系统,IEEE(美国电气和电子工程师协会)对其定义是用于控制、监视或者辅助操作机器和设备的装置,是一种专用的计算机系统;国内普遍认同的嵌入式系统定义是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统;从应用对象上加以定义来说,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。

其中软硬件可剪裁说明,可以对硬件进行编程,也可以对软件进行编程。

其中对硬件进行编程就是EDA技术,学习中常用对FPGA芯片的开发为示例。用VHDL语言或者Verilog语言实现对硬件的编程。但是由于其涉及到很多基础和高深的电路知识,想到于研发一款芯片,要想实现应用的话,难度还是很大的,对基础的要求也相对较高。

还有就是对软件进行编程,比较普遍用于学习的就是51以及stm32芯片。51的功能相对简单,而且比较易懂好上手,非常适合作为新手小白的单片机启蒙来学习。在一些简单的模块,用51来展示现象会更简单,编程会更简单。stm32更适合有一些基础的人去学习和应用,学习stm32对我们了解电路、寄存器原理等会更有帮助。

下面是用keil5写的、stm32蜂鸣器提示的简单代码:

#include "stm32f10x.h"                  // Device header

#include "Delay.h"

 

int main(void)

{

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);


GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOB, &GPIO_InitStructure);


while (1)

{

GPIO_ResetBits(GPIOB, GPIO_Pin_12);

Delay_ms(100);

GPIO_SetBits(GPIOB, GPIO_Pin_12);

Delay_ms(100);

GPIO_ResetBits(GPIOB, GPIO_Pin_12);

Delay_ms(100);

GPIO_SetBits(GPIOB, GPIO_Pin_12);

Delay_ms(700);

}

}

stm32和51相比,会再复杂一点,需要有很多的.c.h文件来保证程序可以正常运行。还需要配置参数,引脚等。同时,学习32时,趣味性会更强,而且32的功能更强大,我们可以做更多有用的东西。

学习单片机也需要注意,对一些基础功能的实现,要理解代码,不能ctrlCV走天下。打好地基才能盖好高楼,在学习中解惑、在学习中进步。用心学习加上动手操作,但是最重要的还是思考和总结,多留一些时间去思考,这样我们才能走得更稳、跟远。希望大家能在嵌入式的学习中共同进步。



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]