文章目录
中微所使用编译软件为SCMCU_IDE,不过个人不推荐使用这个软件写代码(十分不好用,不能跳转,只能全部搜索一个个查,而且不能替换),大家可以利用VScode打开代码项目文件(直接拖入桌面VScode图标或者打开VScode再打开项目文件),VScode永远的神。

烧录软件是SCMCU WRITER,买个中微的烧录器直接接好线烧录即可(每次编译完会提醒你代码改变了)

中微官网是:https://www.mcu.com.cn(顺带提一嘴,好牛皮的域名)
进入他的支持界面,开发工具,规格书,DEMO什么的应有尽有。

在官网下载好软件之后安装即可,进入文件夹即可看到编译软件。

虽然硬件IIC运行速度很快,但是由于单片机性能受限,并不是所有单片机都有硬件IIC,软件IIC模拟IIC协议通信,进行读写操作,我以中微SC8F5771单片机为例,利用其RB0和RB1口分别作为SDA和SCL口。此处我仅给出大概模板。
void iic_init(void);//iic初始化,调GPIO,也就是选用的sda和scl口,由于最开始要输出,所以设置为输出模式,iic通信最开始都是高电平
void iic_deinit(void);//有初始化肯定有取消初始化,将sda和scl设置为输入模式
void iic_write(unsigned char dev_addr, unsigned char reg_addr, unsigned char date)//iic写入,最为关键的一步,把控协议主体思路
{
iic_start();
delay_us();
write_iic_byte(dev_addr & 0xFE)//iic的地址位最后一位是读写方式,所以是与0xFE,如果忘了就去查一查
iic_wait_ack();//等待应答
delay_us();
write_iicbyte(date);//地址完了就轮到数据
iic_wait_ack();//等待应答
delay_us();
iic_stop();//一次数据写入完成,停止通信
}
void iic_start(void);//开始iic时需要scl和sda置高,然后sda拉低,表明开始,然后再scl拉低,好让sda可以拉高或保持低作为检测的数据。
void iic_stop(void);//停止时需要sda和scl都置高,满足下一次通信的起始状态
void write_iic_byte(unsigned char iic_byte)//一个很经典的写法
{
unsigned char i=8;
unsigned char temp;
unsigned char data;
data = iic_byte;
iic_sclk_clr();
while(i--)
{
temp=data>>7;
data<<1;
if(temp)
{
iic_sdin_set();
}
else
{
iic_sdin_clr();
}
iic_sclk_set();
delay_3us();
iic_sclk_clr();
delay_3us();
}
}
void iic_wait_ack(void);//进行应答
为了让IIC通信更快(该芯片晶振是16MHz的),为了验证其置高低电平和nop、以及空函数调用时间,我利用逻辑分析仪,在while循环里面写了如下代码,观测到的时序如图所示。
sclk = 1;//delay_us是空的,里面什么都没有,此处只是对比在此单片机中空函数和nop区别时间究竟相差多少
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
delay_us();
sclk = 0;
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us
NOP();//0.25us

我们可以很清楚的看到高电平之后延时20个空函数,再低电平,执行20个nop指令,最终显示一个周期内,高电平持续33us,低电平持续6.25us,后续又将20个空函数和nop改为1个空函数和1个nop,以及不加n空函数和nop的测试,可以大致得出,置一次高低电平需要2us,一个nop指令花费0.2us-0.25us,一个空函数调用大致在1.2us。
由于时间关系我并没有去验证太多,测出结果可能也不太严谨,学过汇编的同学知道,调用函数时先跳转再返回,以51汇编为例,不同位置的函数使用对应不同的跳转指令,范围越大的跳转指令耗费时间也更久,由于我是跨文件调用,应该是对应汇编中的LCALL长跳转,并且RET返回,所以花费nop指令5-6倍的时间似乎也合理(nop本身就只占一个时钟周期)。
以上为个人分析,无法确定其正确性,仅凭客观数据以及主观猜测,如有错误,请您指正。
非常感谢各位的观看!
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
网站的日志分析,是seo优化不可忽视的一门功课,但网站越大,每天产生的日志就越大,大站一天都可以产生几个G的网站日志,如果光靠肉眼去分析,那可能看到猴年马月都看不完,因此借助网站日志分析工具去分析网站日志,那将会使网站日志分析工作变得更简单。下面推荐两款网站日志分析软件。第一款:逆火网站日志分析器逆火网站日志分析器是一款功能全面的网站服务器日志分析软件。通过分析网站的日志文件,不仅能够精准的知道网站的访问量、网站的访问来源,网站的广告点击,访客的地区统计,搜索引擎关键字查询等,还能够一次性分析多个网站的日志文件,让你轻松管理网站。逆火网站日志分析器下载地址:https://pan.baidu.
谈到现状,国内的软件测试行情目前呈现了两极分化的极端情况。一个是早期的手工测试人员吐槽工作不好做,即使有工作也是外包,而且薪资太低;一方面是很多互联网企业感叹自动化测试人才难找,有技术的自动化测试工程师,高薪难聘。这两者其实并不矛盾。手工测试工作难找也确实是目前真实的行情早期从事功能测试的手工测试人员,在测试方面大多采用手动、人工执行的方式查找软件缺陷和BUG,用行业术语来描述就是“点点点”。这种测试方式耗费大量人力和资源,工作效率却十分低下。在早期软件复杂和迭代程度不高的情况下,有资本的企业会“供养”一批这样的手工测试人员。但对测试员本身来讲,毫无技术难度的工作,和几乎没有保障的薪资水平,直
其实现在基础的资料和视频到处都是,就是看你有没有认真的去找学习资源了,去哪里学习都是要看你个人靠谱不靠谱,再好的教程和老师,你自己学习不进去也是白搭在正式选择之前,大可以在各种学习网站里面找找学习资源先自己学习一下为什么选择学软件测试?同学们理由众多!大概分这几类:①不受开发语言、行业产品变化限制;②入门更简单,对零基础、女生都友好;③软件项目都需要测试人员,职业生涯稳;④学习周期短,但薪资并不低。要想“肩扛”一条线?需掌握三大技能:技能1:掌握测试流程,熟悉系统框架能提前与开发人员一起制定测试计划,通过测试左移,推动代码评审,代码审计,单元测试,自动化冒烟测试,来保证研发阶段的质量。技能2:
2022年伊始,默安科技联合数世咨询举办以“软件供应链安全的时与势”为主题的访谈活动,由数世咨询创始人李少鹏主持,邀请贝壳安全研发负责人李文鹏、北京邮电大学副教授张文博、默安科技副总裁沈锡镛三位行业大咖做客网安小酒馆,从产业、企业、学术的不同维度,共同探讨软件供应链安全建设的新思路,为业界呈现了一场开年网安盛宴。随着全球软件供应链安全事件频发,软件供应链安全逐渐成为业界关注焦点,也成为影响国家重要信息系统安全与关键信息基础设施安全的重要因素,以及网络安全保障体系和能力建设的重要环节。嘉宾们围绕软件供应链安全发展的主要驱动力、关基行业中的实施现状和落地难点、产学研成果转化、软件供应链安全的重要性
项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信校园跑腿小程序系统,前台用户使用小程序发布跑腿任何和接跑腿任务,后台管理使用基于PHP+MySql的B/S架构;通过后台管理跑腿的用户、查看跑腿信息和对应订单。意义:手机网络时代,大学生通过手机网购日常用品、外卖外卖、代取快递等已不再是稀奇的事情。此外,不少高校还流行着校园有偿工作,校园跑腿就成了大学生创业服务项目。 因为你在校园里,所以不会有进入的限制。并不是所有的外卖平台都可以随意进入校园,比如小黄和小蓝的双打外卖平台。许多大学禁止送餐进入学校,更不用说送餐进入宿舍了。这一措施使得校园服务市场的竞争相对不
每次我尝试运行brew命令时,都会出现以下错误:/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in`require':cannotloadsuchfile--vendor/bundle/bundler/setup(LoadError)from/usr/local/Homebrew/Library/Homebrew/vendor/portable-ruby/2.3.7/lib/ruby/2.3.0/r
像个白痴一样,我设法删除了我的系统ruby安装。我重新安装了xcode,还安装了RVM这样做:$whichruby返回这个:/Users/alex/.rvm/bin/ruby但是,Homebrew似乎还是坏了:$brew-bash:/usr/local/bin/brew:/usr/bin/ruby:badinterpreter:Nosuchfileordirectory 最佳答案 OSX上的系统ruby符号链接(symboliclink)到Ruby.framework。由于您重新安装了Xcode,它应该已安装,但您需要恢复符
Klocwork专为企业DevOps和DevSecOps而构建,是首选的静态分析和SAST工具,用于保持高开发速度,同时还强制实施安全性和质量的持续合规性。在这里,我们分享了开发人员选择Klocwork的五大原因。为什么安全性对软件开发至关重要?安全性对于软件开发至关重要,因为黑客和网络犯罪分子一直在寻找将漏洞转化为利益的方法。强大的软件安全防御的一个关键部分是使用安全编码标准,这些标准是用于防止安全漏洞的规则和准则。如果使用得当,安全编码标准可以检测、预防和消除可能危及安全性的漏洞。行业标准工具(特别是SAST工具)可以有效地实施标准,以帮助确保您的软件免受安全漏洞的侵害。开发人员使用Klo
有没有类似于Celery的东西对于ruby?有没有人对rcelery有任何经验??它是生产的好选择吗?更新:我遇到了resque,这看起来像是我可以用于我的任务的东西。欢迎任何进一步的建议! 最佳答案 ruby中有很多队列选项。Sidekiq->https://github.com/mperham/sidekiqResque,你得到了链接延迟作业->http://blog.leetsoft.com/delayed_job/它们几乎都是一样的。因此,您只需要使用您更熟悉示例的那个即可。在我的项目中,我最终使用了Sidekiq,关于它的