嵌入式系统原理应用——实验三 ARM汇编指令实验2—ARM 处理器工作模式实验
【教学目标和要求】通过实验了解嵌入式汇编语言程序结构,完成实验中要求的工作模式切换功能。
【主要仪器设备和药品】(1)硬件:微机
(2)软件:ADS1.2
【实验要求】(1)按照实验要求编写汇编语言源程序。
(2)对汇编源程序进行编译、汇编。
(3)对程序进行调试。
(4)观察程序运行结果。
【实验程序】(1)汇编程序:
本程序将0-12依次移入R0-R12寄存器后,跳转到initstack标号执行模式切换,最后回到跳转点,最终将模式切换为用户模式。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081usr_stack_legth equ 64 svc_stack_legth equ 32 fiq_stack_legth equ 16 irq_stack_legth equ 64 abt_stack_legth equ 16 und_ ...
嵌入式系统原理应用——实验二 ARM汇编指令实验1—简单数据搬移实验
【教学目标和要求】学习嵌入式汇编程序的设计方法,完成实验中数据搬移的功能。
【主要仪器设备和药品】(1)硬件:微机
(2)软件:ADS1.2
【实验要求】(1)按照实验要求编写汇编语言源程序。
(2)对汇编源程序进行编译、汇编。
(3)对程序进行调试。
(4)观察程序运行结果。
【实验程序】(1)汇编程序:
本程序步骤:
首先将45移入R0中,然后入栈,再将64移入R0,将45出栈到R1中,再使R0=R0+R1=109,最后将R0中的相加结果入栈。
12345678910111213141516 AREA Init,CODE,READONLY ENTRY ;program entrance CODE32 ;declare 32-bit ARM instructionx EQU 45 ;the value of xy EQU 64 ;the value of ystack_top EQU 0x1000 ;define the top address for stacksstart MOV SP, #stack_top MOV R0, #x ...
嵌入式系统原理应用——实验一 ADS的学习和使用
【教学目标和要求】(1)熟悉ADS开发环境的安装与配置过程
(2)熟悉AXD调试环境的配置过程与实验
【主要仪器设备和药品】(1)硬件:微机
(2)软件:ADS1.2
【实验要求】(1)按照实验指导书安装ADS1.2开发平台软件。
(2)安装实验指导书对ADS进行配置。
(3)对AXD进行设置。
(4)学会程序仿真、调试操作方法。
【实验程序】(1)C程序:
12345678910111213141516171819202122#define DATA (*(volatile unsigned*)0x03ff5008)void Delay(unsigned int);int Main(){unsigned long x;DATA=0X01;for(;;){ x=DATA; x=(x<<1); DATA=x; Delay(10); if(!(x&0X0F)) DATA=0X01; } return(0); }void Delay(unsigned int x){ unsigned int i; for(i=0;i< ...
MPSK通信系统的设计与性能研究
[noway]建议不要直接抄[/noway]
系统实现流程图
子函数1. 信源序列生成子函数输入:M为码元位数,N为符号长度。
输出:1行,N列的取值范围为[0,7]的矩阵。
方法:利用randi([0, 2^M-1], 1, N)函数产生1行,N列的取值范围为[0,7]的矩阵。
12345function sourse_signal = generate_Source(M, N)% 产生一个1*length的随机矩阵,元素取值均匀分布在[0,1]% source_signal用来存储Mbit码元信号sourse_signal = randi([0, 2^M-1], 1, N);end
2. Mbit格雷码表子函数输入:M为码元位数。
输出:Mbit 的格雷码对照表(M行,2^M列的0,1矩阵)。
方法:对[1,2^M]进行遍历:通过dec2bin()、double()和boolean()函数将十进制数转为二进制数,再通过二进制数转格雷码规律将自然二进制数转为格雷码。
12345678910111213141516function gray_table = Gray_Tab ...
数字基带传输系统设计与性能研究
[collapse title=”仅供参考学习 抄袭与本人无关”]
[/collapse]
子函数
双极性信源信号产生子函数 SourceSignal
实现思路:通过rand(1,L)生成1×L,取值在(0,1)内的矩阵。当矩阵中元素的值小于0.5时,用-1替换;当大于0.5时,用1替换。即可得到取值为-1或1、长度为L的均匀分布双极性序列。
12345678910function an = SourceSignal(L)an=rand(1,L); %准备一个1*L,数值在(0,1)的随机序列for i=1:L %通过for循环判断序列的值,用1或-1替换序列的值,从而得到双极性伪随机序列if an(i)<0.5 an(i)=-1; else an(i)=1;endendend
发送信号子函数SendSignal
实现思路:首先定义一个1×A*L的矩阵dn,对矩阵dn每隔A插入an的对应元素,得到周期为A的发送信号。
12345678%% 发送信号生成函数function dn = SendSignal(an,A)L ...
Ubuntu利用Docker安装EMQX(最稳定最简单)
一键安装Docker1curl -fsSL https://get.docker.com bash -s docker --mirror Aliyun
使用Docker脚本一键安装、配置EMQX
获取 Docker 镜像
1docker pull emqx/emqx:5.0.5
启动 Docker 容器
1docker run -d --name emqx -p 1883:1883 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:5.0.5
配置Docker重启时自动重启emqx容器
列出容器
1docker ps -a
配置emqx容器自动重启
1docker container update --restart=always 一个或多个容器名称
重启docker测试
1systemctl restart docker
快速搭建个人MQTT服务器(基于EMQX)
简述相信看到这篇教程的人应该对MQTT协议有了一定的了解。其实提供MQTT服务的厂商也有很多,比较知名的有EMQX等。EMQX虽然提供了免费的公共MQTT5服务器。
但是对于多个用户利用公共服务器同时订阅或发布同一主题内容时,可能会接收到其他设备发布但是我们并不想接收的消息或者我们不希望其他用户得到自己设备发布的消息。
下面教大家如何利用已有服务器(教程以阿里云ECS为例,系统为Ubuntu20.04 64位)搭建一个个人的基于EMQX的MQTT服务器(EMQX官方文档)。
服务器配置EMQX端口配置
端口号
服务
1883
MQTT TCP 端口
8883
MQTT TCP/ssl 端口
8083
MQTT Websocket/ws 端口
8084
MQTT Websocket/wss 端口
8081
HTTP API端口
18083
DashBoard 控制台端口
根据需求,在服务器安全组打开对应端口:
如果服务器安装了宝塔面板也需要在宝塔面板的【安全】页面开启端口:
安装[buy]2022-07-08安装命令更 ...
《如此可爱的我们》旁白——长大
我从来不害怕长大
也从来不担心
成长会是一条孤独的道路
不是因为我有多么坚强
而是我坚信
我永远不会独自一人
曾经牵起我手的那个人
会这样继续
和我亲密无间地走下去
曾经存在于彼此日记本中的人
会在未来交换更多的秘密
踏着时光走到现在的我们啊
也会一起走向更远的岁月
世界从来不会辜负可爱的人
而我们如此可爱
《如此可爱的我们》旁白——暗恋
这个世界上
好像所有的愿望都有寄托
许愿池 流星雨
海洋馆的白鲸
都藏着宇宙的各个角落
正独自喜欢着别人的心酸
只是幸运之神并不能
眷顾到每个人的身上
他们让有的人开心 如愿以偿
也让有的人难过
却不能承认自己有多难过
暗恋的心情就像是
蝴蝶不过轻轻扇动了一下翅膀
就在人们的心里刮起了一阵飓风
在发现的那一刻起
就是在劫难逃
《如此可爱的我们》旁白——朋友
朋友这个词
承载了太多的重量
它既让我们亲密无间
又让我懦弱不前
所以我们总是轻易地麻痹自己
只要在那个人身边
永远是朋友也没关系
但那天等不到的出租
被挂断的电话
越来越少的时间
和我六神无主的心
好像都在迫切地向我证明
这个世界上
哪有什么退而求其次的友情
任何与那个人相关的细枝末节
都在提示我
我们不能只是普通朋友
所以趁着一切都还来得及
那些迫切想要说的话
就快一点 再快一点
努力传达到那个人的耳朵里吧