以前用过stm32的串口,不过用的时候一般都是调用库函数,设置波特率,8位数据位,无校验,1位停止位。传输过程中也没有遇到过太多的问题,最近用stm8s,需要用到奇偶校验(至于什么是奇偶校验,网上资料很多),用了
----------------------------------------------------------------------1.看门狗超时复位由于没有及时喂狗或在程序一开始没有关闭看门狗
突发奇想,于是便写了一个小程序用于控制台灯,这几天功能也在不断的完善中,目前基本已经完成.下面进行功能的简述的代码的分析.整体设计包含下位机程序和上位机程序.下位机用的c语言,上位机用的c#整个系统功能包括:定时
1 #include "reg52.h" 2 //------------------------------------------------------------------------------------ 3 // 定义差距输入常量 4 #define GAP_ZERO 0x00 5 #define GAP_VSMALL 0x01 6 #define GAP_
了解了定时器相关的寄存器,那么我们下面就来做一个定时器的程序,巩固一下我们学到的内容。我们这节课的程序先使用定时器 0,在使用定时器的时候,需要以下几个步骤:第一步:设置特殊功能寄存器 TMOD,配置好工作模
刚刚写的SPI驱动,想移植到LINUX上面用来读写SD卡只测试了发送,没有测试接收.spi.c/**************************************************************************************************************文件名:spi.c*
这次讲的是将程序、图片或其他文件下载到SPI Flash中。我使用的是W25X16的SPI Flash,他共有2MB空间,2个Block,512ge Sector,8096个Page。由于SPI Flash不能直接跑程序,我们从接口就知道了。接下去我们就来讲讲怎么
首先,stm8的中断向量的跳转地址是固定的。也就是说发生中断时,芯片会跳转到0x8000对应中断的偏移地址。而大部分bootloader都是在该区域实现。也就是说中断向量会被bootloader所占用。当用户程序执行中断时会跳转到
interrupt 函数属性当包含在一个声明中指定函数为一个中断函数例如unsigned int interruptcnt;unsigned char second;void timer0 (void) interrupt 1 using 2{ if (++interruptcnt == 4000) { /* count to 4000 */
在作通信工作时,我们常常会遇到“帧”这个概念,我迷惑的地方在于,一帧数据包含N个(1+8bit+1+1 起始位+8位数据+校验位+停止位),还是(1+N*8bit+1+1),今天仔细深究了一下,现将收获说一下,希望对读者有帮助。首
C51及C51和汇编的混合编程的资料都是从前辈那儿偷来的,先谢谢各位前辈的分享!:)众所周知,c51在编程时很难掌握程序运行的时间,所以编写延时程序时很难做到很精确,解决的方式有插入汇编语句,但总觉得汇编用起来
包含五个中断源,两级中断优先级,优先级可编程设置,通过IP进行设置:PX0(IP.0),外部中断0优先级设定位;PT0(IP.1),定时/计数器T0优先级设定位;PX1(IP.2),外部中断0优先级设定位;PT1(IP.3),定时/计数
问题:在用IAR 建立工程的时候 REBUILD ALL 一下 会出现:lable xxxx is defined pubweak in a section implicitly declared root的警告解决方法:解决方法在所用的启动文件中,比如startup_stm32f10x_hs.s(具体看你
这一节,介绍如何配置引脚上产生中断来检测引脚上的高低电平变化。单片机的任何一个IO口,都可以作为中断引脚,所以,LPC1114一共有41个外部中断引脚。可以设置为低电平引发中断、高电平引发中断、上升沿引发中断、下
在前面的几讲中我们介绍了工程的建立方法,常用的调试方法,除此之外,Keil 还提供了一些辅助工具如外围接口、性能分析、变量来源分析、代码作用分析等,帮助我们了解程的性能、查找程序中的隐藏错误,快速查看程序变