【自己用C语言写PIC32单片机的serial bootloader】教程文章相关的互联网学习教程文章

单片机c语言教程:C51循环语句

单片机c语言教程第十三课 C51循环语句循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操 作。如一个 12M 的 51 芯片应用电路中要求实现 1 毫秒的延时,那么就要执行 1000 次空语句 才能达到延时的目的(当然能使用定时器来做,这里就不讨论),如果是写 1000 条空语 句那是多么麻烦的事情,再者就是要占用很多的存储空间。我们能知道这 1000 条空语句, 无非就是一条空语句重复执行 1000 次,因此我们就...

stm32单片机的C语言优化

对于有些单片机,自身容量是很有限的,有的仅仅只有8k、16k的flash等,但是对32位mcu来说,这点空间实在有点小。不像计算机一样内存和rom都很多,因此有时候就需要进行代码优化。大家都知道,单片机最开始对整数运算很在行,对浮点数的运算也是转换为整数来进行,计算机是离散的,除了带dsp内核的mcu,有dsp模块的M4内核的arm来说,浮点数计算轻而易举。因此在单片机中,可以遵循以下几点:1、尽量不要浮点数,实在不行,用float类...

自己用C语言写PIC32单片机的serial bootloader【代码】【图】

从15年12月份以来我的空余时间都在折腾15年底买的PIC32MZ EC Starter kit。并陆续写了十多篇随笔记录我折腾的历程。最近新完成的是用C语言实现了PIC32的UART bootloader, 采用串口通信,适用于Microchip的PIC32MZ EC,稍作对应的修改也可适用于PIC32MX, PIC32MZ EF等。Uart bootloader是用XC32编译的,电脑端的通信软件是用超级终端--HyperTerminal (也可以使用SecureCRT). 和之前我写的HyperBootloader_PIC16/PIC18/dsPIC和类似,...

PIC32单片机端C语言serial bootloader和PC端C#语言bootloader串口通信程序【代码】【图】

今天介绍下我新完成的为Microchip的32位单片机PIC32MZ2048ECH144开发的UART bootloader程序。整个工程分两部分,第一部分是单片机端用XC32编译的bootloader程序PhsBoot_v5.0,另一部分是PC端用C#编译的bootloader通讯程序PhsLoader_v5.0。两者之间采用固定的协定通信合作,如下。<STX><CMD><ADDRL><ADDRH><ADDRU><ADDRM><LEN><DATA>...<DATA><ETX>STX - Start of packet indicatorETX - End of packet indicatorLEN - The length o...

单片机C语言的程序架构【代码】

初学单片机时,都会纠结于其各个模块功能的应用,如串口(232,485)对各种功能IC的控制,电机控制PWM,中断应用,定时器应用,人机界面应用,CAN总线等. 这是一个学习过程中必需的阶段,是基本功。很庆幸,在参加电子设计大赛赛前培训时,MCU周围的控制都训练的很扎实。经过这个阶段后,后来接触不同的MCU就会发现,都大同小异,各有各的优势而已,学任何一种新的MCU都很容易入手包括一些复杂的处理器。而且对MCU的编程控制会提升一...

单片机课程设计-四位加法计算器设计参考程序(c语言)【代码】

1 #include<reg52.h> 2 typedef unsigned char uint8;3 typedef unsigned int uint16;4 5 sbit rw=P2^5;6 sbit rs=P2^6;7 sbit e=P2^7;8 sbit led=P3^7;9 10uint8 key,num,ei,eii,p;11 uint8 fuhao;//定义具体的那个符号,是加减还是乘除。 12 uint8 flag; //定义有没有按下符号键,这个是统称 13long a,b,c,d; //定义运算数据的第一个和第二个及等于的数变量 14 uint8 k; //定义小数点后面显示的位数 15 16 uin...

对单片机C语言的一些误用和总结【代码】

在学习单片机的时候才真正知道C语言是什么它是来干什么的~但是C语言用到嵌入式只是它小小的一部分他的应用还有很多地方呢,呵呵我们这里就不讨论这个了。我们是不是在写程序的时候错误很多就算编译通过了也达不到我们预期的结果,完了自己是不是也很难找到错在哪儿吧?我绝得语言之所以能称之为语言,它肯定是一种工具一种相互交流相互通信相互传达之间的意图的工具,作为语言那肯定得有自己的语法,要想相互交流肯定得先学好它的语...

C语言从入门到精通到实战学习路线图(指针/函数/数组/文件/标准库/接口/单片机/数据结构/算法/面试)

C语言是一门永不过时的编程开发语言,到处都离不开它,学好这门编程语言,用处极大。但是如何学好学精它,却让人很头疼,在学习过程中总会遇到各种各样的疑难杂症。 收集整理了一些C语言编程学习必备的资料,涵盖:C语言学习路线图,编程工具,编程思维,指针,函数,数组,文件,标准库,常见问题解惑,数据结构,常用算法,算法分析,接口实现,单片机开发,程序实例,名题范例,面试宝典等等。认真看完这些,估计都能成为大神。...

为什么C语言是最适合单片机编程的高级语言!【图】

为什么还在用C语言编程?答案是:C语言是最适合单片机编程的高级语言。 这个问题的意思应该是:现在有很多很好用的高级语言,如java,python等等,为什么这些语言不能用来编写单片机程序呢?那么这个问题的答案就是:不是不能,而是不合适。?一、单片机编程的特点 对单片机编程来说; 首先要考虑的是单片机的程序空间和数据空间都是有限的,所以要让程序尽量短小精悍,以节省程序占用的存储空间。 第二、单片机编程的一个主...

单片机延时C语言程序

(晶振12MHz,一个机器周期1us.) 一. 500ms延时子程序 程序: void delay500ms(void){ unsigned char i,j,k; for(i=15;i>0;i--) for(j=202;j>0;j--) for(k=81;k>0;k--); } 产生的汇编: C:0x0800 7F0F MOV R7,#0x0F C:0x0802 7ECA MOV R6,#0xCA C:0x0804 7D51 MOV R5,#0x51 C:0x0806 DDFE DJNZ R5,C:0806 C:0x0808 DEFA DJNZ R6,C:0804 C...

单片机编程用C语言还是汇编?【图】

单片机是一种可编程器件,单片机的出现使硬件设计变得更为简单,产品的功能也更强大,而程序就是单片机的灵魂。目前功能稍微复杂一点的电子产品,都是以单片机为核心,再加以不通的外设电路实现不通的功能需求。单片机的编程可以通过汇编语言和C语言来实现。1汇编编程的特点汇编是一种更接近于硬件底层的低级语言。硬件在编程时总线和地址非常重要,在汇编语言中,一般用助记符来替代机器指令的操作码,用标号代表操作数的地址,所...

C语言练习项目-UNIX时间戳4字节转时间可移植函数单片机嵌入式【代码】

4字节unix时间戳和正常年月日互相转换,很多协议用的到,c语言,有可以优化的地方欢迎讨论,根据网上案例总结优化后自己写的。 评论免费拿走!!! 1 #include"stdio.h"2 #include "stdint.h"3 #include <string.h>4 5 #define TIME_ZONE 8 //北京时间6 7 uint8_t Common_month_day[12]={ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; //平年 8 uint8_t Leap_month_day[12] ={ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30,...