-
我们可能都知道:U-boot会给LinuxKernel传递很多参数,如:串口波特率,RAMSize,videofb、MACAddress等,而且Linuxkernel也会读取和处理这些参数。两者之间通过structtag来传递参数。U-boot把要传递给kernel的东西保存在structtag数据结构中,启动kernel时,把这个结构体的物理地址传给kernel;Lin...[详细]
-
描述:keil5+stm32使用IIC读数在仿真时点击工具栏里的view选择下面的periodictwindowupdate...[详细]
-
简介STM32的定时器除了TIM6和TIM7。其他的定时器都可以用来产生PWM输出。高级定时器TIM1和TIM8可以同时产生多达7路的PWM输出。通用定时器也能同时产生多达4路的PWM输出,PWM寄存器与功能原理TIMx_CCR1~4,捕获/比较寄存器该寄存器的值与CNT的值比较,可以控制PWM的输出脉宽TIMx_CC...[详细]
-
在上一节中提到定时器很重要,而对于定时器来说,就是简单的一个初始化,只要把这个弄明白了,后面的编程操作也就水到渠成了,今天再简单地对定时器初始化做个补充。首先,再说一下T/C(定时器/计数器)的基本结构,它们基本部件是2个8位的计数器,其中TH1和TL1是T1的计数器,TH0和TL0是T0的计数器,记住这两个计数器,后面的操作都是围绕这两个展开的,要有这种意识。在作为定时器使用时,...[详细]
-
本文提出了一种扩展Uboot实现嵌入式设备操作系统维护与升级的方法。该方法将待升级的内核和文件系统映像放入SD卡中,当系统重启时,扩展后的Uboot会自动检测并读取SD卡中的映像文件,再烧写到嵌入式设备实现自动升级。该方法较传统的通过JTAG口、串口或者网口连接到主机,在主机上通过手动输入控制命令完成内核或者文件系统的升级方式更为便捷高效。随着现代工业社会逐步向智能化社会的过度,...[详细]
-
一.硬件方案利用超声波传输中距离与时间的关系,采用8051单片机进行控制及数据处理,设计出了能精确测量两点间距离的超声波液位检测系统。并通过液位的高低开,通过控制继电器,选择注水或者放水。主要由51单片机+HC-SR04超声波传感器+LCD1602液晶+水泵+按键+蜂鸣器+继电器设计而成;如图:二.设计功能(1)本设计中液晶显示有4个字母,分别为H------容器的最高水位设定...[详细]
-
在标准C语言中,存在着如下六种基本数据类型:1、char:字符型;2、short=shortint:短整型3、int:整型4、long=longint:长整型5、float:单精度浮点型6、double:双精度浮点型而面向51单片机的KeiluVision4对此进行了简化,因此,可以理解为只存在如下四种...[详细]
-
1:串口相关的初始化操作我们都知道stm32相关外设的初始化都需要打开相应的时钟,配置相应的IO,除此之外我们还需要对串口库中的相关成员变量赋值,这里我们就直接看一下这些结构体成员有哪些。HAL_StatusTypeDefHAL_UART_Init(UART_HandleTypeDef*huart);这个函数就是对串口的初始化操作,形参是一个结构体指针,该结构体主要包含哪些部分,下面...[详细]
-
简介:bit和sbit都是C51扩展的变量类型。bit和intchar之类的差不多,只不过char=8位,bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH...[详细]
-
在STM32中,有五个时钟源,为HSI、HSE、LSI、LSE、PLL。①、HSI是高速内部时钟,RC振荡器,频率为8MHz。②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③、LSI是低速内部时钟,RC振荡器,频率为40kHz。④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤、PLL为锁相环倍频输出,其时钟输入源可选择...[详细]
-
使用SWD通过J-Flash烧写STM32时,会出现各式各样的错误;总结下原因:1、复位脚被拉低了,这次我遇到的就是复位引脚的电容焊反了(钽电容),可以正常连接,但是烧写程序时会出现如下报错–-Erasingaffectedsectors…-ERROR:RAMcheckfailed@address0x20000000.-ERROR:Write:...[详细]
-
1、定时器时钟源框图从图片中可以看到定时器有4个时钟源,(1)内部时钟;(2)外部时钟模式1,定时器的通道1、2;(3)外部时钟模式模式2,ETR脚;(4)内部触发输入下面分别介绍这几种时钟源的详细配置2、内部时钟寄存器SMCR的SMS选择0003、外部时钟模式1中文手册已经有以通道2为例子详细说明,这里我以通道1来说明,算是对它的温故和...[详细]
-
1方案设计激光密码使用了单片机与液晶显示屏。单片机保证其编写者可以采用当今的高新科技、最优化软件来设计编程,液晶显示屏确保能在十分友好的界面下帮助使用者进行操作。结合了先进的光电技术,确保了控制器在科学技术方面的领先性。精心设计软件、巧妙组合各部分硬件,确保密码锁的原理简单、结构巧妙,功能完备。这样就解决了普通用户拥有高科技先进产品难的问题。下面就其主要系统的运行原理及其关键技...[详细]
-
最近无意中看到一篇关于s3c6410RomCode的介绍,结合自己的经验,做个总结。首先贴张图,具体描述下该芯片的启动方式及具体流程。因为s3c6410的板子多数是从SD或者Nand方式启动,重点就先放在Nand启动上。启动基本流程:上图中的IROM为芯片固化程序,被称为BL0,开机后最先运行,它会去做一些硬件初始化动作,代码里通过检测GPN管脚状态从相应设备指定区域BL1中拷...[详细]
-
大家是否碰到过以下应用场景:同一套软件代码希望跑在不同型号的GD32MCU中,但有些地方需要根据MCU型号进行调整?或者上位机或其他MCU与GD32MCU通信时需要知道对应的MCU型号是哪个?此时,我们就需要了解如何获取以及区分GD32MCU的型号。GD32MCU的型号区分可以通过PID进行区分,PID定义如下图所示,该寄存器为只读寄存器,出厂被一次性编程,共4个字节,不同型...[详细]