推荐阅读最新更新时间:2024-11-16 22:45
比较精简的stm32编码器程序
01.#define ROTATE_A PAin(2) 02.#define ROTATE_B PAin(3) 03.s16 DATA=0; 04. 05.void EXti2_IRQHandler(void) 06.{ 07. IF(EXTI_GetITStatus(EXTI_Line2) != RESET) 08. { 09. if(ROTATE_A!=ROTATE_B) 10. { 11. DATA++; 12. } 13. else DATA--; 14. EXTI_ClearITPendingBit(EXTI_Line2); 15. }
[单片机]
STM32推挽输出和开漏输出的区别
当端口配置为输出时: 开漏模式:输出 0 时,N-MOS 导通,P-MOS 不被激活,输出0。 输出 1 时,N-MOS 高阻, P-MOS 不被激活,输出1(需要外部上拉电路);此模式可以把端口作为双向IO使用。 推挽模式:输出 0 时,N-MOS 导通,P-MOS 高阻,输出0。 输出 1 时,N-MOS 高阻,P-MOS 导通,输出1(不需要外部上拉电路)。
[单片机]
关于STM32中的GPIO位设置的相关纪要与总结
1.在对GPIOx_ODR的个别位进行编程时,软件不需要禁止中断。 2.GPIO具有锁定机制。主要是在一些关键引脚上为了防止程序跑掉而引起不必要的后果。 3.GPIO的库函数问题, GPIO_SetBits:置所选端口的一个或者多个位高; GPIO_ResetBits:相应的设置相应的一个或者多个位高; GPIO_Init:设置A,B,C,D,E端口的任一个I/O的输入输出配置信息,初始化I/O芯片; GPIO_Pin:设置带选择的引脚号(GPIO_Pin_1:选中1引脚); GPIO_Speed:设置所选中的引脚的频率(GPIO_Speed_10MHz); GPIO_Mode:设置所选中的引脚的工作状态,做以上几步都必须先定
[单片机]
STM32单片机编程方式及工作原理
STM32单片机编程可以使用多种不同的编程语言和工具,下面是一些常用的编程方式: C语言编程:C语言是STM32单片机编程中最常用的编程语言之一,STM32提供了官方的标准外设库和HAL库来简化编程过程。 Keil:Keil是一款集成开发环境(IDE),它可以与多种编译器和调试器一起使用,包括ARM编译器和CMSIS-DAP调试器,使得开发者可以方便地进行编程、编译和调试。 STM32CubeIDE:STM32CubeIDE是STMicroelectronics提供的官方集成开发环境,可以使用C/C++语言编程,支持多种STM32单片机系列,提供了一系列的图形化工具和代码生成器,使得开发者可以更加方便地进行开发、调试和优化。
[单片机]
如何使用MDK编译器让STM32程序HEX文件中加入固件版本信息
本文介绍一个小技巧: 使用MDK编译器,让STM32程序HEX文件中加入固件版本信息。 代码 代码如下: //------------------------------------------------------------------------------#include 《absacc.h》 //------------------------------------------------------------------------------#define VERINFO_ADDR_BASE (0x8009F00) // 版本信息在FLASH中的存放地址const char Hardware_Ver[] _
[单片机]
stm32在Keil5调试提示: uvision IDE已停止工作
1 http://blog.csdn.net/qq_33259138/article/details/70224581 现象是程序编译下载都没有问题,开始Debug调试之后,只要进入C源代码文件,立即崩溃。 在论坛上找到一种解决办法,将你的工程拷出来,发到一个短路径文件夹下,再次编译,崩溃就没有了。 按论坛里大神说法是,Debug调试程序路径不能超过170个字节。 2http://www.openedv.com/posts/list/52892.htm 1, 是不是安装在中文目录了? 2,是不是系统用户名是中文的? 3 https://weibo.com/p/2304187e4cac0d0102vyxf?s
[单片机]
STM32的AD9854 DDS模块调试总结
DDS基本原理和特点 1、DDS基本原理 直接频率合成技术实际上是通过将存储的波形数据,通过特定算法,经过高速D/A转换器转换成所需要模拟信号的数字合成技术。其基本原理框图如图1所示。 由图1可见,其主要由标准参考频率源、相位累加器、波形存储器、数/模转换器等部分组成。其中,参考频率源一般是一个高稳定的晶体振荡器,其输出信号用于DDS中各部件同步工作。当频率合成器正常工作时,在标准频率参考源的控制下(频率控制字K决定了其相位增量),相位累加器则不断地对该相位增量进行线性累加,当相位累加器积满量时就会产生一次溢出,从而完成一个周期性的动作,即合成信号的一个频率周期。累加器的输出地址对波形ROM进行寻址,从而把存
[单片机]
s3c6410串口裸机开发串口波特率计算
假设时钟选择为PCLK(S3C6410为66Mhz) 由以下两个公式可以帮助我们通过设置相关寄存器来决定串口波特率 公式1: 公式2: 我们可以先通过公式2算出DIV_VAL的值,然后将接近DIV_VAL的值赋给寄存器UBRDIVn,然后在根据公式1算出num of 1's in UDIVSLOTn。其中UDIVSLOTn的赋值可以根据下表来设置: 通过上述配置,就将UBRDIVn和UDIVSLOTn的值确定下来,从而得到我们想要的波特率bps 将此公式和表格列出,方便以后再做开发使用。 参考: S3C6410 datasheet
[单片机]