转载——关于STM32 SPI NSS的讨论

原文链接:https://www.cnblogs.com/shangdawei/p/4756415.html

NSS分为内部引脚和外部引脚。

NSS外部引脚可以作为输入信号或者输出信号,

输入信号一般用作硬件方式从机的片选,

而输出信号一般用于主SPI去片选与之相连的从SPI。

NSS从设备选择有两种模式:

1、软件模式

可以通过设置SPI_CR1寄存器的SSM位来使能这种模式,当它为1时,NSS引脚上的电平由SSI决定。
在这种模式下NSS外部引脚可以用作它用,而内部NSS信号电平可以通过写SPI_CR1的SSI位来驱动。

2、硬件模式两种方式:

(1)对于主SPI,NSS可以直接接高电平,对于从SPI,可以直接接低电平。

(2)当STM32F10xxx工作为主SPI,并且NSS输出已经通过SPI_CR2寄存器的SSOE位使能,
这时主机的NSS讲作为输出信号,引脚信号被拉低,所有NSS引脚与这个主SPI的NSS引脚相连
并配置为硬件NSS的STM32F10xxx SPI设备,将自动变成从SPI设备。

此时两个的NSS信号线可以接个上拉电阻直连。

继续阅读

转载——Linux查看系统开机时间

原文链接:https://www.cnblogs.com/kerrycode/p/3759395.html

有时候需要查看Linux系统运行了多久时间,此时需要知道上次开机启动时间; 有时候由于断电或供电故障突然停机,需要查看Linux开机时间/重启时间;  下面总结一些查看Linux开机关机时间的方法(非常全面)

1: who 命令查看

      who -b 查看最后一次系统启动的时间。

      who -r 查看当前系统运行时间

[root@DB-Server ~]# who -b

         system boot May 11 09:27

继续阅读

转载——Everything必知必会搜索教程

原文链接:https://blog.csdn.net/xiake001/article/details/76094559

Everything必知必会搜索教程

一般匹配搜索有三种方式:1、常规搜索:你输入什么搜索什么 2、通配符:使用* ?等符号3、正则表达式:最复杂也最万能的搜索匹配法

 

一、Everthing常量

大小常数

日期常数

empty

0KB

Today

yesterday

tiny

0-10 KB

<last|past|prev|current|this ><week|month|year>

small

10-100KB

属性常数

medium

100KB-1 MB

R 只读文件

H 隐藏文件

large

1MB-16 MB

S 系统文件

D 文件夹

gigantic

16MB-128 MB

D 文件夹

N 普通文件

继续阅读

转载——linux里source、sh、bash、./有什么区别

原文链接:https://www.cnblogs.com/pcat/p/5467188.html

在linux里,source、sh、bash、./都可以执行shell script文件,那它们有什么不同吗?

———–

1、source

source a.sh

当前shell内去读取、执行a.sh,而a.sh不需要有”执行权限

source命令可以简写为”.”

. a.sh

注意:中间是有空格的。

 
继续阅读

STM32关闭全局中断时需要注意的问题

原文链接:https://blog.csdn.net/niepangu/article/details/49443557

STM32在使用时有时需要禁用全局中断,比如MCU在升级过程中需禁用外部中断,防止升级过程中外部中断触发导致升级失败。
ARM MDK中提供了如下两个接口来禁用和开启总中断:
__disable_irq(); // 关闭总中断
__enable_irq(); // 开启总中断
但测试发现这样一个问题,在关闭总中断后,如果有中断触发,虽然此时不会引发中断,但在调用__enable_irq()开启总中断后,MCU会立即处理之前触发的中断。这说明__disable_irq()只是禁止CPU去响应中断,没有真正的去屏蔽中断的触发,中断发生后,相应的寄存器会将中断标志置位,在__enable_irq()开启中断后,由于相应的中断标志没有清空,因而还会触发中断。所以要想禁止所有中断,必须对逐个模块的中断进行Disable操作,由于每个模块中断源有很多,对逐个中断Disable的话比较复杂,较为简单的方法是通过XXX_ClearITPendingBit()清除中断标志或者直接通过XXX_DeInit()来清除寄存器的状态。这样在__enable_irq()开启总中断后,MCU就不会响应之前触发的中断了。

Win7安装Kindle Previewer 3预览器窗格不显示的解决方法

Win7系统安装Kindle Previewer 3后,打开电子书,预览器窗格一片空白,不显示任何内容。

此时关闭软件,会提示“Kindle Previewer 3.exe已停止工作”

出现此问题是由于系统没有安装Microsoft .NET Framework 4.7.2,安装此系统组件后,Kindle Previewer 3的预览窗格显示正常。

.NET Framework 4.7.2 离线安装包下载链接

ONVIF调试笔记——生成代码框架

参考链接:
ONVIF协议网络摄像机(IPC)客户端程序开发(6):使用gSOAP生成ONVIF框架代码
Onvif开发之代码框架生成篇

一、使用本地的wsdl文件生成Onvif框架代码

1.下载wsdl文件并解压
下载地址1:python-onvif
下载地址2:wsdl_2.4.2.zip

2.下载gsoap并解压
下载地址1:gsoap.zip
下载地址2:gsoap_2.8.103.zip

3.把解压后的wsdl文件拷贝到gsoap-2.8\gsoap目录下

4.把gsoap-2.8\gsoap\bin目录中的wsdl2h.exe、soapcpp2.exe文件拷贝到gsoap-2.8\gsoap目录下

5.使用wsdl2h工具,根据WSDL生成onvif.h头文件
wsdl2h -c -s -t typemap.dat -o onvif.h remotediscovery.wsdl devicemgmt.wsdl analytics.wsdl analyticsdevice.wsdl
media.wsdl deviceio.wsdl display.wsdl event.wsdl imaging.wsdl recording.wsdl replay.wsdl search.wsdl receiver.wsdl ptz.wsdl

继续阅读

公司服务器中勒索病毒

周末休息一天,公司的服务器竟然中了勒索病毒。万幸的是服务器和数据库分离开的,是两台独立的电脑,服务器是作为数据库的登陆客户端,经确认只有服务器中了病毒,数据库电脑一切正常。

Too young too simple!

服务器新系统是我安装的,由于要安装一台HP打印机的驱动,这个驱动在Windows server系统上安装失败,因此我把这台服务器安装了windows7系统。安装完系统后,我没有更新系统补丁,没有安装杀毒软件,然后把远程连接的默认端口在路由器上进行端口映射,路由器的拨号IP申请了公网IP。这相当于把一台没有任何防护的电脑暴露在公网上,作为一只肉鸡等待着黑客的侵入。

我家里的那台下载机我都知道装一个nod32 kss软件,公司的电脑我竟然完全忽略了安全防护这个事,更何况我家里的IP还不是公网IP,相对安全很多。主要原因还是觉得勒索病毒离我还很遥远,没有中过病毒就没有把安全防护这个事放在心上。而且之前的服务器运行windows server 2003系统,裸奔了几年都没有出过任何中毒事件。

吃一堑长一智,公网电脑和内网电脑受攻击的风险不在一个数量级上,对于暴露在公网上的电脑,必须要做好十二分的安全防护。

还好此次中毒事件没有对公司数据资料造成损失,否则自己的这次疏忽将会对公司造成严重的影响。

黑群晖数据丢失踩坑记

前天早上起来,黑群晖突然连不上了。心里一惊,蜗牛星际不会就这样翻车了吧。

强制关机再开机,能听到主板嘀的自检声,但是接HDMI显示器,显示器没有任何输出。我怀疑这台机器的硬件出问题了。尝试了开关机几次,显示器都没有输出。后面无意按了一下复位键,显示器正常显示了,总算机器硬件没有问题。

插上硬盘启动,提示系统损坏,需要重新安装。重装之后,数据还在,之前的软件和设置都没有了。

踩坑开始
我想把这个硬盘恢复成之前的系统,最好把之前的软件和配置都恢复过来。

踩坑文章
http://www.360doc.com/content/17/0311/09/9009195_635746418.shtml

我的操作
删除分区 —— 不行

用DiskGenius重建分区 —— 不行 (此操作万万不能做)

用winhex复制正常的系统分区文件到此硬盘

重要心得:
黑群晖的分区可以格式化,但不能手动删除。手动删除后,我不知道怎么才能恢复数据。(可以尝试外挂到Ubuntu系统进行操作)

教训:
黑群晖设置了半夜自动关机,我前一天使用都还是好好的,第二天早上起来就出现这个问题。应该是重启系统出现的问题,为了避免这个问题再出现,我把系统自动关机取消了。