基于51单片机的CAN通讯协议C语言程序
//-----------------------函数声明,变量定义-------------------------------------------------------- #include <reg52.h>
sbit int0 = P3^2;
//-----------------------定义寻址的基址--------------------------------------------------------
#define base_Adr 0x00
//-----------------------定义总线定时寄存器的值--------------------------------------------------------
#define SJA_BTR0 0x00 //该值需要用户根据实际需要的波特率进行计算
#define SJA_BTR1 0x16 //具体计算见文章说明
//-----------------------设置接收报文类型(标示符)--------------------------------------------------------
//该值需要用户根据实际需要重新配置
#define SJA_ACR 0x00 //验收代码寄存器的值
#define SJA_AMR 0x16 //验收屏蔽寄存器的值
//-----------------------设置输出始终类型--------------------------------------------------------
//该值需要用户根据实际需要重新配置
#define SJA_OCR 0x00 //输出控制寄存器的值
#define SJA_CDR 0x16 //始终分频寄存器的值
//-----------------------设置SJA中断,1为开中断--------------------------------------------------------
#define SJA_OIE 0 //溢出中断
#define SJA_EIE 0 //错误中断
#define SJA_TIE 0 //发送中断
#define SJA_RIE 0 //接收中断
//-----------------------定义地址指针,指向基址--------------------------------------------------------
unsigned char xdata *SJA_base_Adr = base_Adr;
//-----------------------定义硬件故障标志位--------------------------------------------------------
bit bdata connect_OK=0; //connect_OK=1设备连接正常
//connect_OK=0设备连接故障
//-----------------------定义硬件故障标志位--------------------------------------------------------
bit bdata SJA_workmode=1; //SJA_workmode=1SJA工作在工作模式
//SJA_workmode=0工作在复位模式
//-----------------------定义SJA1000读写缓冲区的数据结构--------------------------------------------------------
struct BASICCAN_BUFstruct{
unsigned char FrameID_H;
unsigned char FrameLENTH ;
unsigned char FrameKIND ;
unsigned char FrameID_L3 ;
unsigned char Frame_Data[8];
}BASICCAN_FRAME,receive_BUF,send_BUF;
//BASICCAN_BUFstruct send_BUF;
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 CANREG_write
// 入口函数 SJAREG_ADR,setting
// 出口函数 无
// 函数功能 写SJA1000的寄存器
//------------------------------------------------------------------------------------------------------
void CANREG_write(unsigned char SJAREG_ADR, unsigned char setting)
{
*(SJA_base_Adr+SJAREG_ADR)=setting;
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 CANREG_write
// 入口函数 SJAREG_ADR
// 出口函数 SJAREG_data
// 函数功能 读SJA1000的寄存器
//------------------------------------------------------------------------------------------------------
unsigned char CANREG_read(unsigned char SJAREG_ADR)
{
unsigned char SJAREG_data;
SJAREG_data=*(SJA_base_Adr+SJAREG_ADR);
return(SJAREG_data);
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 SJAconnect_judge
// 入口函数 无
// 出口函数 无
// 全局变量 connect_OK
// 操作寄存器 测试寄存器(地址09)
// 函数功能 判断SJA1000与控制器连接是否正常
//------------------------------------------------------------------------------------------------------
void SJAconnect_judge(void)
{
CANREG_write(0x09,0xAA); //写AA到测试寄存器(地址09)
if(CANREG_read(0x09)==0xAA)
{
connect_OK=1; //连接正常
}
else
{
connect_OK=0; //连接故障
}
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 setting_SJA_resetmode
// 入口函数 无
// 出口函数 无
// 全局变量 SJA_workmode
// 操作寄存器 控制寄存器(地址00)
// 函数功能 设置SJA工作在复位模式
//------------------------------------------------------------------------------------------------------
void setting_SJA_resetmode(void)
{
unsigned char CONTROL_REGdata;
CONTROL_REGdata=CANREG_read(0x00);
CONTROL_REGdata=CONTROL_REGdata|0x01;
CANREG_write(0x00,CONTROL_REGdata);
if((CANREG_read(0x00)&0x01)==1)
{
SJA_workmode=0; //置复位模式成功
}
else
{
SJA_workmode=1; //置复位模式失败
}
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 setting_SJA_resetmode
// 入口函数 无
// 出口函数 无
// 全局变量 SJA_workmode
// 操作寄存器 控制寄存器(地址00)
// 函数功能 设置SJA工作在正常工作模式
//------------------------------------------------------------------------------------------------------
void setting_SJA_workingmode(void)
{
unsigned char CONTROL_REGdata;
CONTROL_REGdata=CANREG_read(0x00);
CONTROL_REGdata=CONTROL_REGdata&0xFE;
CANREG_write(0x00,CONTROL_REGdata);
if((CANREG_read(0x00)&0x01)==0)
{
SJA_workmode=1; //置工作模式成功
}
else
{
SJA_workmode=0; //置工作模式失败
}
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 setting_SJA_rate
// 入口函数 SJA_BTR0,SJA_BTR1
// 出口函数 setting_success
// 操作寄存器 总线定时寄存器BTR1(地址07)和BTR0(地址06)
// 函数功能 设置SJA波特率
// 特殊要求 只能在复位工作模式下设置
//------------------------------------------------------------------------------------------------------
bit setting_SJA_rate(void)
{
bit setting_success;
while(SJA_workmode)
{
setting_SJA_resetmode(); //设置SJA工作在复位模式
}
CANREG_write(0x06,SJA_BTR0);
CANREG_write(0x07,SJA_BTR1);
if((CANREG_read(0x06)==SJA_BTR0)&(CANREG_read(0x07)==SJA_BTR1))
{
setting_success=1; //波特率设置成功
}
else
{
setting_success=0; //波特率设置失败
}
return(setting_success);
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 setting_SJA_dataselect
// 入口函数 SJA_ACR,SJA_AMR
// 出口函数 setting_success
// 操作寄存器 验收代码寄存器ACR(地址04)和验收屏蔽寄存器AMR(地址05)
// 函数功能 设置SJA接收数据类型
// 特殊要求 只能在复位工作模式下设置
//------------------------------------------------------------------------------------------------------
bit setting_SJA_dataselect(void)
{
bit setting_success;
while(SJA_workmode)
{
setting_SJA_resetmode(); //设置SJA工作在复位模式
}
CANREG_write(0x04,SJA_ACR);
CANREG_write(0x05,SJA_AMR);
if((CANREG_read(0x04)==SJA_ACR)&(CANREG_read(0x05)==SJA_AMR))
{
setting_success=1; //滤波器设置成功
}
else
{
setting_success=0; //滤波器设置失败
}
return(setting_success);
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 setting_SJA_CLK
// 入口函数 SJA_OCR,SJA_CDR
// 出口函数 setting_success
// 操作寄存器 输出控制寄存器OCR(地址08)和时钟分频寄存器CDR(地址31)
// 函数功能 设置SJA输出始终类型
// 特殊要求 只能在复位工作模式下设置
//------------------------------------------------------------------------------------------------------
bit setting_SJA_CLK(void)
{
bit setting_success;
while(SJA_workmode)
{
setting_SJA_resetmode(); //设置SJA工作在复位模式
}
CANREG_write(0x08,SJA_OCR);
CANREG_write(31,SJA_CDR);
if((CANREG_read(0x08)==SJA_OCR)&(CANREG_read(31)==SJA_CDR))
{
setting_success=1; //滤波器设置成功
}
else
{
setting_success=0; //滤波器设置失败
}
return(setting_success);
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 setting_SJA_interrupt
// 入口函数 SJA_OIE,SJA_EIE,SJA_TIE,SJA_RIE
// 出口函数 setting_success
// 操作寄存器 控制寄存器(00)
// 函数功能 设置SJA中断类型和中断状态
// 特殊要求 只能在复位工作模式下设置
//------------------------------------------------------------------------------------------------------
bit setting_SJA_interrupt(void)
{
bit setting_success;
unsigned char CONT_buf,temp=0;
while(SJA_workmode)
{
setting_SJA_resetmode(); //设置SJA工作在复位模式
}
CONT_buf=CANREG_read(0x00);
temp=SJA_OIE;
temp=temp<<4;
temp=temp|SJA_EIE;
temp=temp<<3;
temp=temp|SJA_TIE;
temp=temp<<2;
temp=temp|SJA_RIE;
temp=temp<<1;
CONT_buf=(temp&0x1E)|(CONT_buf&0x01);
CANREG_write(0x00,CONT_buf);
if(CANREG_read(0x00)==CONT_buf)
{
setting_success=1; //滤波器设置成功
}
else
{
setting_success=0; //滤波器设置失败
}
return(setting_success);
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 Write_SJAsendBUF
// 入口函数 无
// 出口函数 setting_success
// 操作寄存器 发送缓存器(10-19)状态寄存器02
// 函数功能 写发送缓存器
// 特殊要求 只能在工作模式下写
//------------------------------------------------------------------------------------------------------
bit Write_SJAsendBUF(void)
{
bit setting_success=0;
unsigned char i;
while(SJA_workmode==0)
{
setting_SJA_workingmode(); //设置SJA在工作模式
}
if((CANREG_read(0x02)&0x10)==0)
{
if((CANREG_read(0x02)&0x04)!=0)
{
CANREG_write(0x10,send_BUF.FrameID_H);
CANREG_write(0x11,(send_BUF.FrameLENTH<<4)||(send_BUF.FrameKIND<<3)||(send_BUF.FrameID_L3));
if(send_BUF.FrameKIND==0)
{for(i=0;i<send_BUF.FrameLENTH,i<8;i++)
CANREG_write(0x12+i,send_BUF.Frame_Data[i]);
}
setting_success=1; //发送寄存器写成功
}
}
return(setting_success);
}
//------------------------------------------------------------------------------------------------------
// 函数类别 SJA1000基本操作
// 函数名称 Write_SJAsendBUF
// 入口函数 无
// 出口函数 setting_success
// 操作寄存器 接收缓存器(20-29)状态寄存器02
// 函数功能 写发送缓存器
// 特殊要求 只能在工作模式下写
//------------------------------------------------------------------------------------------------------
bit read_SJAreceiveBUF(void)
{
bit setting_success=0;
unsigned char i;
while(SJA_workmode==0)
{
setting_SJA_workingmode(); //设置SJA在工作模式
}
if((CANREG_read(0x02)&0x01)!=0)
{
if((CANREG_read(0x02)&0x10)==0)
{
receive_BUF.FrameID_H=CANREG_read(0x20);
receive_BUF.FrameLENTH=((CANREG_read(0x21)&0xF0)>>4);
receive_BUF.FrameKIND=((CANREG_read(0x21)&0x08)>>3);
receive_BUF.FrameID_L3=(CANREG_read(0x21)&0x07);
if(receive_BUF.FrameKIND==0)
{for(i=0;i<receive_BUF.FrameLENTH,i<8;i++)
receive_BUF.Frame_Data[i]=CANREG_read(0x22+i);
}
setting_success=1; //接收寄存器读成功
}
}
return(setting_success);
}
//------------------------------------------------------------------------------------------------------
// 函数类别 供调用子程序
// 函数名称 SJA1000_init
// 入口函数 无
// 出口函数 无
// 操作寄存器 1)控制寄存器(地址00)
// 2)收代码寄存器ACR(地址04)
// 3)验收屏蔽寄存器AMR(地址05)
// 4)总线定时寄存器BTR0(地址06)
// 5)总线定时寄存器BTR1(地址07)
// 6)输出控制寄存器OCR(地址08)
// 7)测试寄存器(地址09)
// 8)和时钟分频寄存器CDR(地址31)
// 函数功能 SJA1000初始化设置
// 特殊要求 在复位模式进行,初始化结束进入工作状态
//------------------------------------------------------------------------------------------------------
void SJA1000_init(void)
{
while(connect_OK==0)
{
SJAconnect_judge(); //检测设备连接
}
while(SJA_workmode)
{
setting_SJA_resetmode(); //置SJA1000为复位工作模式
}
while(setting_SJA_rate()==0)
{
setting_SJA_rate(); //设置总线波特率
}
while(setting_SJA_dataselect()==0)
{
setting_SJA_dataselect(); //设置SJA接收数据的格式(标示位)
}
while(setting_SJA_CLK()==0)
{
setting_SJA_CLK(); //设置SJA输出始终的形式
}
}
//------------------------------------------------------------------------------------------------------
// 函数类别 中断处理函数
// 函数名称 send_interrupt
// 入口函数 无
// 出口函数 无
// 操作寄存器
// 函数功能 接收中断处理函数
//------------------------------------------------------------------------------------------------------
send_interrupt()
{
}
//------------------------------------------------------------------------------------------------------
// 函数类别 发送中断处理函数
// 函数名称 receive_interrupt
// 入口函数
// 出口函数
// 操作寄存器
// 函数功能 发送中断处理函数
//------------------------------------------------------------------------------------------------------
receive_interrupt()
{
}
//------------------------------------------------------------------------------------------------------
// 函数类别 中断函数
// 函数名称 SJA_INTR
// 入口函数 无
// 出口函数 无
// 操作寄存器 中断寄存器(地址03)
// 函数功能 中断分析,判断是什么中断,调用相应的中断处理函数
//------------------------------------------------------------------------------------------------------
void SJA_INTR() interrupt 0 using 1 //CanBus接口芯片产生中断(INTR0)
{
unsigned char sta;
unsigned char temp;
EX0 = 0;
sta = CANREG_read(3); //读中断寄存器
temp = sta & 0x20;
if(temp == 0x20)
SJA1000_init();
temp = sta & 0x04;
if(temp == 0x04)
SJA1000_init(); //消极错误中断,错误报警中断,均导致重启
temp = sta & 0x02;
if(temp == 0x02) //发送中断处理
{
send_interrupt();
}
temp = sta & 0x01;
if(temp == 0x01) //接收中断,接收数据
{
receive_interrupt();
}
EX0 = 1;
}
main()
{
}
本程序是基于51单片机的CAN(sja1000)通信协议的操作程序,利用51单片机的中断来操作,每个函数都有详细的注释,希望能帮助到初学者,在main函数中没有任何函数调用,自己可以根据需要进行调用。
|
转载于:https://www.cnblogs.com/wanghuaijun/p/6272319.html
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- cmd执行调用打开文件
Process p = new Process();//新进程 p.StartInfo.FileName = "cmd.exe";//打开cmd程序 p.StartInfo.UseShellExecute = false;//不使用shell启动程序 p.StartInfo.RedirectStandardInput = true; p.StartInfo.RedirectSta…...
2024/4/20 23:56:24 - Ruby 基础教程(第5版)
内容简介 《Ruby 基础教程(第5版)》由 Ruby 之父松本行弘亲自审校并作序推荐。本书支持 Ruby 2.3,通俗易懂地讲解了编程时所需要的变量、常量、方法、类、流程控制等的语法,以及主要类的使用方法和简单的应用,让没有编程经验的读者也能轻松掌握 Ruby,并灵活应用到实际工作…...
2024/4/27 22:51:41 - Ruby基础教程(Day1)—— Ruby初探
前提:自行安装ruby 一、Ruby初探最常见的方法是使用ruby命令执行(在helloruby.rb中输入print("Hello,Ruby.\n")) 在命令行输入ruby helloruby.rbirb命令,以交互命令行方式来执行在控制台执行irb如下图所示对象字符串、数值、时间等各种数据,在Ruby中都是对象方法…...
2024/4/28 2:43:28 - 《划时代-51单片机C语言全新教程》-第十八章 USB通信 概览
-------------------------------------------------------------------------------------------------------(请复制整个下载地址到迅雷、快车、QQ旋风进行下载) 电子书下载地址:http://files.cnblogs.com/wenziqi/划时代-51单片机C语言全新教程.rar 转载于:https://www.…...
2024/4/20 23:56:21 - 利用Visual Studio 2013通过MSCOMM控件实现串口通信
想做个串口小助手,能够模拟两个串口通信。发送和接收实现网上资料很多,在此不再赘述。下面说下我遇到的问题。 问题: 先打开一个程序,再次打开,出现“port already open”。 解析: 串口初始化时只初始化了com1,再次执行程序一定会出现串口占用的情况。 解决方案: 增加两…...
2024/4/20 23:56:20 - 利用.Net中Process类调用netstat命令来判断计算端口的使用情况
利用.Net中Process类调用netstat命令来判断计算端口的使用情况: Process p = new Process();p.StartInfo = new ProcessStartInfo("netstat", "-a");p.StartInfo.CreateNoWindow = true;p.StartInfo.UseShellExecute = false;p.StartInfo.WindowStyle = P…...
2024/4/20 23:56:18 - Ruby快速入门(30分钟)
在本教程中,将探讨使用Ruby开始编程所需的基本语法,以及如何在30分钟内学习并使用Ruby编程语言。注:如果您还尚未安装Ruby开发环境,请访问环境设置页面并按照说明安装: http://www.yiibai.com/ruby/ruby-installation.htmlRuby历史 Ruby被许多人认为是一种“新”编程语言,…...
2024/4/20 8:50:15 - 19/7/25自学单片机C语言学习(keil)整理
在昨天点亮第一个灯的基础上,让第一个灯闪烁 分析:1.点亮第一个发光二极管2.第一个发光二极管闪烁,就是亮灭亮灭变换 #include<reg52.h> //头文件 #define uint unsiged int //宏定义 uint a; //定义一个控制亮灭的时间的变量 sbit L1=P1^0; //位定义…...
2024/4/20 23:56:16 - C# 执行CMD 命令
Process prc = new Process(); prc.StartInfo.FileName = "cmd.exe"; //关闭 Shell 的使用! prc.StartInfo.UseShellExecute = false; //重定向标准输入 prc.StartInfo.RedirectStandardInput = true; //重定向标准输出 prc.StartInfo.RedirectStandardOutput = tru…...
2024/4/20 23:56:16 - Ruby入门教程
http://blog.csdn.net/cqfz123/archive/2006/10/24/1349050.aspx...
2024/4/20 23:56:14 - delphi中XLSReadWrite控件的使用(2)---delphi XE下安装
一、下载官方下载网址:http://www.axolot.com/components/download.htm从这里可以下载到从Delphi5到DelphiXE全部支持的版本。二、软件安装下载下来的文件是exe格式,可以直接安装,一路next即可。按照默认安装,会在:C:\Documents and Settings\All Users\Documents\RAD Studi…...
2024/4/20 21:11:26 - Ruby教程
eclipse下RDT插件下载网http://yehudakatz.com/2007/01/27/my-preferred-rails-development-environment/http://beans.seartipy.com/2006/08/12/develop-ruby-applications-using-eclipse-ide/ruby安装版的:http://www.ruby-lang.org/en/ 以下附近是Ruby教程的pdf并附案例,大家…...
2024/4/20 11:46:07 - 图片和16进制 互相转换
/** * 图片转十六进制 / public static class ImageToHex { public static void main(String[] args) throws Exception { try { StringBuffer sb = new StringBuffer(); FileInputStream fis = new FileInputStream(“C:\Users\wb-wsj429645\Desktop\RZE.jpg”); BufferedInpu…...
2024/4/20 21:11:22 - c语言编写单片机技巧
1. c语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的cpu,其汇编语言可能有所差异,所以不易移植。 c语言是一种结构化的高级语言。其…...
2024/4/20 21:11:21 - 工作小记
C#中使用PowerShell:Process process = new Process();// Redirect the output stream of the child process.process.StartInfo.UseShellExecute = true;process.StartInfo.FileName = "powershell";process.StartInfo.Arguments = @".\Build-TestSuite.ps1 &…...
2024/4/20 23:56:14 - td8.0描述字段中文字符解决办法(字体大小控件下载)
首先,还是很抱歉,最近工作实在太多,华为项目接连几个地方需要上线,版本问题搞的是焦头烂额。 这是一个困扰测试部由来以来已久的问题,刚跳槽过来的时候,就发现这个问题。由于开始熟悉产品的时间比较紧张,一直没有时间处理这个东西。不过,由于bug比较多,加上这个字段的…...
2024/4/20 23:56:13 - 一个很好的ruby教程
http://www.netbeans.org/download/flash/jruby_on_rails/jruby_on_rails.html...
2024/4/20 23:56:11 - 关于C语言学习单片机的一些心得
嵌入式系统以门槛高,入门难的方式拦截了无数的学者。然而单片机作为嵌入式的入门课,如何以一种正确的方法学习单片机将关系到是否能学习好嵌入式。 纵所周知,学习嵌入式先玩ptotel,再做单片机。Protel简单的来说就是一个做PCB板的纯英文的软件。学习ptotel前必需具备一定的…...
2024/4/20 23:56:10 - ruby教程/学习网站推荐列表
ruby教程/学习网站推荐列表 Ruby QuickRef(英文)http://www.zenspider.com/Languages/Ruby/QuickRef.html 漫画教程 Whys (Poignant) Guide to Ruby http://mislav.uniqpath.com/poignant-guide/book/chapter-3.html Ruby学习实例[中文]:http://www.yiibai.com/ruby RUB…...
2024/4/20 23:56:09 - C#自定义控件在添加引用后不显示在工具箱的解决方法
点击打开链接...
2024/4/20 23:56:09
最新文章
- 这三个AI导航站,你绝对用得到!!
Hi,这里是前端后花园,专注分享前端软件网站、工具资源。不得不说AI正在慢慢改变我们学习和工作方式,今天带来这三个AI导航站,总有一个你用得到,记得收藏啊! AI工具集 https://ai-bot.cn/ 网站汇集了700 …...
2024/4/28 5:24:43 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/3/20 10:50:27 - 数据结构--KMP算法
数据结构–KMP算法 首先我在这里提出以下问题,一会一起进行探讨 1.什么是最长公共前后缀 2. KMP算法怎么实现对匹配原理 3. 最长公共前后缀怎么求解 KMP算法可以用来解决什么问题? 答:在字符串中匹配子串,也称为模式匹配 分析…...
2024/4/27 22:32:52 - PHP获取亚马逊商品详情api接口
亚马逊提供了一个名为Product Advertising API(PA API)的接口,可以用来获取亚马逊商品的详细信息。 要使用PA API,您需要进行以下几个步骤: 注册为亚马逊合作伙伴,并创建一个亚马逊开发人员账户。创建一个…...
2024/4/26 23:25:20 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/4/26 18:09:39 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/4/28 3:28:32 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/4/26 23:05:52 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/4/27 4:00:35 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/4/27 17:58:04 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/4/27 14:22:49 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/4/28 1:28:33 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/4/27 9:01:45 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/4/27 17:59:30 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/4/25 18:39:16 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/4/28 1:34:08 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/4/26 19:03:37 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/4/28 1:22:35 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/4/25 18:39:14 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/4/26 23:04:58 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/4/27 23:24:42 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/4/25 18:39:00 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/4/26 19:46:12 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/4/27 11:43:08 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/4/27 8:32:30 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57