- 博客(23)
- 收藏
- 关注
原创 红外超声波雷达测距
而RS485是一种差分信号通信方式,可以实现长距离传输(最高可达1200米),速率在10Mbps左右,支持多点连接,更适合工业环境中的远距离通信。HC-SR04需要单独提供5V的供电,因此不能与stm32共用一个VCC(3.3V),而ST-Link有5V的供电接口,因此我将5V电压单独拉出来给HC-SR04供电,GND与stm32用同一个。3)在没有超声波模块硬件的场景下,先使用Keil中的仿真逻辑分析仪,观察分析对应管脚上的时序波形,判读是否符合协议规范。接线端口没有硬性要求,只需要修改对应代码即可。
2024-06-15 03:22:48
751
原创 HLS入门
然而,HLS与传统的VHDL/Verilog编程技术不同之处在于,HLS更加高级,可以让开发人员使用更加直观和易于理解的语言来描述硬件功能,从而提高开发效率和代码质量。3.生成的电路可能不是最优的:HLS生成的电路可能不是最优的,因为它依赖于自动化工具进行优化,而自动化工具的优化程度有限。4.代码可读性差:HLS生成的硬件描述语言通常比手写的代码难以理解和调试,这可能会影响开发人员的效率。1.难以处理复杂的电路:HLS通常用于生成相对简单的电路,因为它难以处理复杂的电路。生成IP,选中后双击。
2024-05-24 17:00:54
1396
1
原创 实验一Nios-II编程入门
文章使用的工具及板子类型工具:Quartus II 18.0开发板:Cyclone IV E EP4CE115F29C7。
2024-05-14 17:45:44
1190
1
原创 ROS机器人小车建模仿真与SLAM
在xacro文件夹中新建“my_camera.urdf.xacro”"“my_car_camera.urdf.xacro”“my_laser.urdf.xacro”文件。加载robot_description时使用command属性,属性值就是调用 xacro 功能包的 xacro 程序直接解析 xacro 文件。在urdf文件夹中新建一个xacro文件夹,并在xacro文件夹中新建my_base.urdf.xacro文件。退到主目录catkin_ws下,执行catkin_make。启动launch文件。
2024-04-27 21:01:25
1800
原创 ROS通信编程
需要用键盘Ctrl+C 强制中断程序,非常不友好。3.语句:waitKey(30) ,中的参数单位是 ms 毫秒,也就是每一帧间隔 30ms,该语句时不能删除的,否则会执行错误,无法播放视频或录制视频。客户端需要做的时给服务端提供任务的目标,告诉服务端终点的位置,并且接收服务端的反馈信息并显示到bash中。2.while循环体中的 Mat 数据结构其实是一个点阵,对应图像上的每一个点,点的集合形成了一帧图像。存放工程开发相关文件的文件夹,其中主要包括src,build,devel,install文件夹。
2024-03-15 17:49:38
1449
1
原创 ROS1.0环境安装与配置
查看话题,使用rostopic list,就会列举出现在的所有话题,查看某一话题的具体内容,添加info即可。采用直接导入Ubuntu18+ROS 镜像的方式。打开一个终端(快捷键ctrl+alt+t),输入。安装后的ubuntu系统登录密码是1234。再打开一个新的终端,输入。再打开一个终端,输入。
2024-03-14 14:45:00
1743
1
原创 汉字点阵与OLED屏显
将其粘贴到oledfont.g中的cfont16[]里面。进入TEST_MainPage()修改。时间 = 文件大小 / 波特率。AH20温湿度模块可能损坏。
2023-12-30 01:45:22
389
1
原创 定时器&PWM应用编程
再设置一个输出管脚控制LED灯的亮灭。最后按照之前的配置,生成程序即可。RCC设置为Crystal/Ceramic Resonator。设置TIM3,TIM4。TIM2选择内部时钟。
2023-12-29 19:18:58
767
1
原创 基于中断/DMA的串口通信
③基础参数:波特率为115200 Bits/s。传输数据长度为8 Bit。奇偶检验无,停止位1 接收和发送都使能。根据DMA通道预览可以知道,我们用的USART1 的TX RX 分别对应DMA1 的通道4和通道5。④GPIO引脚自动设置 USART1_RX/USART_TX。②设置MODE为异步通信(Asynchronous)⑤ NVIC Settings 一栏使能接收中断。设置高速外部时钟HSE 选择外部时钟源。
2023-12-25 14:45:49
59
1
原创 FPGA编程入门
首先选择File->New,进入后选择Block Diagram/Schematic File。通过仿真结果,可以发现得到的结果与真值表中是相吻合的。通过仿真结果,可以发现得到的结果与真值表中是相吻合的。跟半加器同理添加信号,然后编辑信号。添加输入输出,完成效果。同理添加信号并编辑信号。
2023-12-20 19:12:20
152
1
原创 IIC协议采集温湿度
使用: 需要在控制产生 I2C 的起始信号时,控制作为SCL 线的 GPIO 引脚输出高电平,然后控制作为 SDA 线的 GPIO 引脚在此期间完成由高电平至低电平的切换,最后再控制SCL线切换为低电平,这样就输出了一个标准的 I2C 起始信号。一块硬件电路,硬件I2C对应芯片上的I2C外设,有相应I2C驱动电路,其所使用的I2C管脚也是专用的,硬件(固件)I2C是直接调用内部寄存器进行配置。官方代码使用的是PB14,PB15引脚需要修改对应的引脚才可以正常使用。在奥松官网下载AHT20芯片代码。
2023-11-27 19:00:21
63
1
原创 基于HAL库的LED流水灯
引脚为低电平的灯亮,高电平的灯不亮,高低电平转换周期(LED闪烁周期)为1s左右。(3)勾选Signal Info和Cursor。
2023-10-27 21:01:05
84
1
原创 基于寄存器&标准外设库的LED流水灯
请查阅最小版电路原理图和相关资料,将这个灯也用在流水灯中,重编新程序。添加启动代码,因为我们的芯片选择的是STMC8T6,所以我能的Flash容量大小是128K对应中容量,所以我们选择startup_stm32f10x_md.s并将改文件下载保存到工程目录下。以 STM32最小系统核心板(STM32F103C8T6)+面板板+3只_(或更多)红绿蓝LED 搭建电路,使用GPIOA/GPIOB/GPIOC端口控制LED灯,轮流闪烁,间隔时长1秒。2)用C语言寄存器方式编程实现,代码须有详细注解。
2023-10-22 15:52:12
69
1
原创 理论概念—嵌入式
变量和寄存器都通过定义来代表内存或外设中的一个地址空间,都通过相同的C语言基础语法进行编写,而且都通过变量或寄存器来实现对内存或外设的读写操作。(2)51单片机的资源占用更少,所需要的内存、存储空间和低级硬件资源更少,因此开发者可以更加专注于程序状态的处理,编写更加高效、简洁的代码;(1)用51单片机开发通常是直接操作寄存器,指令集更简单,指令执行速度更快,操作寄存器的方式直接,因此编程易于上手;(1)C代码对内存修改的变量是储存在内存里的数据,由CPU直接读取和写入,速度较快;
2023-10-08 16:47:33
70
1
原创 ARM开发:使用MDK编译stm32简单程序(闪烁LED)
安装mdk5软件和stm32包,熟悉mdk开发环境,完成一个stm32的简单的通过寄存器方式,用某一个GPIO端口点亮LED等程序。
2023-10-08 16:37:02
90
1
原创 Proteus使用教程并仿真51程序——LED流水灯
Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。它是目前比较好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。
2023-10-08 16:24:46
417
1
原创 Ubuntu、stm32下的程序内存分配问题
编写一个C程序,重温全局常量、全局变量、局部变量、静态变量、堆、栈等概念,在Ubuntu(x86)系统和STM32(Keil)中分别进行编程、验证(STM32 通过串口printf 信息到上位机串口助手) 。1)归纳出Ubuntu、stm32下的C程序中堆、栈、全局、局部等变量的分配地址,进行对比分析;2)加深对ARM Cortex-M/stm32F10x的存储器地址映射的理解。
2023-10-07 20:31:06
47
1
原创 Ubuntu16.04系统使用gcc和Makefile编译程序
通过这次Ubuntu系统使用gcc和Makefile编译c程序,我了解到了gcc和makefile编译c程序各自的特性,gcc更适合于单个文件的编译而makefile更适合多个文件的编译。
2023-09-15 19:00:48
103
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人