推荐阅读最新更新时间:2024-03-16 15:13
基于stm32的FSK调制解调器的设计
大致要求:设计一个FSK调制解调器,基带信号码速率为2000B/s,载波速率为4khz和8khz,解调信号要能完整还原基带信号。实现方法多种多样,通信领域内调制解调器的设计大多数用的都是硬件电路,鉴于笔者对编程情有独钟(其实笔者还是懂一点电路设计知识的~),所以最终决定用stm32来设计,纯编程实现。看起来高大上,但实际做起来不难,不过有挺多东西要考虑的。 总的设计思路如下: 首先是基带信号的产生,它也是我们要调制和解调的目标。基带信号由一连串随机的码元序列构成,为了模拟随机的码元序列,笔者用定时器设计8位的PN码序列,码元速率为2000B/s。定时器3定时0.5ms,每进入一次中断,变量num加一,设置一次IO引脚电平,
[单片机]
stm32采用dma方式的ADC
# define M 3 #define N 10 uint16_t AD_Value ; void ADC_Configuration(void) { ADC_InitTypeDef ADC_InitStructure; ADC_DeInit (ADC1 );//将外设adc1的全部寄存器设置为默认值 ADC_InitStructure .ADC_Mode =ADC_Mode_Independent ;//设置为独立ADC模式 ADC_InitStructure .ADC_ScanConvMode =ENABLE ;//adc工作在扫描模式 ADC_InitStructure .ADC_ContinuousConvMode =
[单片机]
stm32初学之LED按键中断
首先,我们选定需要控制的特定引脚, 然后为其配置特定的功能, 最后就可以通过按键控制LED的亮与灭了。 对于LED和按键的初始化比较相似,都是通过GPIO_InitTypeDef结构体来配置。 typedef struct { uint16_t GPIO_Pin; //引脚号 GPIOSpeed_TypeDef GPIO_Speed; //配置速度 GPIOMode_TypeDef GPIO_Mode; //工作模式 }GPIO_InitTypeDef; 这里还可以通过 GPIO_SetBits(GPIOC,GPIO_Pin_3);和GPIO_ResetBits(GPIOC,GPIO_Pin_3) 来使LED
[单片机]
STM32的Flash读写保护,SWD引脚锁的各种解决办法汇总
问题现象: MDK,J-Flash,IAR等无法连接芯片,有时候链接上了,但是无法下载。 注意:如果下载器线的接触不良,也会有这个问题。 问题描述: 1、Flash读写保护 根本原因是工程设计有问题,特别是实际晶振大小与程序中HSE_VALUE大小不一致,很容易导致Flash读保护。 而读保护的本质是芯片的选项字节被设置了,因为读保护就在选项字节里面,详情看此贴:链接 2、SWD锁 SWD接口锁住就是SWD引脚被锁住了,根本原因是用户使用这个引脚做其它功能了。 解决办法: 1、SWD引脚锁解决办法: (1)、SWD引脚被锁住的解决办法比较简单,只要下载器带了复位引脚,并且板子的SWD接口也留出了RST复位引脚,就可以
[单片机]
stm32 RTC实时时钟[操作寄存器+库函数]
RTC 是Real Time Clock 的简称,意为实时时钟。stm32提供了一个秒中断源和一个闹钟中断源。 RTC的技术器是一个32位的计数器,使用32.768khz的外部晶振。 2038年问题 在计算机应用上,2038年问题可能会导致某些软件在2038年无法正常工作。所有使用UNIX时间表示时间的程序都将受其影响,因为它们以自1970年1月1日经过的秒数(忽略闰秒)来表示时间。这种时间表示法在类Unix(Unix-like)操作系统上是一个标准,并会影响以其C编程语言开发给其他大部份操作系统使用的软件。 在大部份的32位操作系统上,此“time_t”数据模式使用一个有正负号的32位元整数(signedint
[单片机]
stm32 FSMC-外扩SRAM IS62WV51216
引脚定义 FSMC配置步骤 1.使能对应引脚GPIO时钟 2.配置GPIO引脚模式 3.使能FSMC时钟 4.FSMC初始化 5.存储器块使能 举例 #define Bank1_SRAM3_ADDR ((u32)(0x68000000)) //首地址0x60000000,每块0x40000000 void SRAM_gpio_init() { GPIO_InitTypeDef gpiof = { GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_12
[单片机]
STM32入门系列-STM32最小系统介绍
STM32最小系统组成 单片机最小系统,也就是能够使得单片机正常运行程序,最少需要连接哪些器件。一般来说,STM32最小系统由四部分组成: 电源电路 复位电路 晶振电路 下载电路 STM32单片机由ARMCortexM3、总线矩阵、外设组成。单片机开发板能够做哪些事情是自己的选择。我们可以制作一款STM32最小系统核心开发板,当然根据实际项目的需求,加上单片机的某些特定外设模块。 简单说,要利用到STM32芯片所有引脚来设计具有特定或者通用功能的开发板。首先要把STM32最小系统画出来,之后再添加需要用到的外设。 电源电路 VDD表示数字电源的正极,而VSS是负极。VDDA用来表示模拟电源正极(供电给ADC、DA
[单片机]
基于STM32控制的声音导引系统
摘要:设计了一个基于STM32控制的声音导引系统。该系统由1个可移动声源S和3个声音接收器A、B、C构成。由一片从控STM32单片机控制无线发送模块,实现声音导引信号的发送。主控单片机根据无线接收模块所接收到的信息来判断可移动声源运动的启停。 关键词:无线收发模块;STM32单片机;声音导引;移动声源 引言 声音导引系统,主要是靠声音来完成对机器的智能控制,既方便又快捷。尤其是环境比较恶劣、不适合人类停留的地方,可以依靠声音来控制机器的正常运行。声音导引系统也是智能化控制的一个方面,对未来的智能化发展有较大的促进作用,对未来智能机器人的研究也大有帮助。 1 系统总体方案 如图1所示,声音导引系统由1个可移动声源S,声音
[单片机]