草庐IT

SARScape中用sentinel-1数据做SBAS-InSAR完整流程(2/2)

Vigo*GIS_RS 2023-05-03 原文

书接上回:SARScape中用sentinel-1数据做SBAS-InSAR完整流程(1/2)

SARScape中用sentinel-1数据做SBAS-InSAR完整流程(2/2)

7 反演第一步Inversion:First Step

工具路径:/SARscape/Interferometric Stacking/SBAS/3 - Inversion: First Step

  • 这一步是 SBAS 反演的核心,第一次估算形变速率和残余地形。这一步也会做二次解缠,用来对输入的干涉图进行优化,以便进行下一步处理,程序可以在二次解缠之前停止一下,让用户能分析第一次的结果,在 inversion 文件夹中。

7.1 导入设置

  • 在连接图中输出的auxiliary.sml文件,这个文件在后续的处理中会被更新

7.2 optional file

  • 如果是SARScape560及以前版本,无此操作;如果有GCP,可以在SARScape562中输入GCP。

7.3 parameters参数设置

选择 Principal Parameters 选项,设置以下参数:

  • Rebuild All:是否全部重建,如果选择true,那么中断计算后再点击exec就会重新计算这一步,如果点击false,中断计算后如果再次点击exec则会继承之前计算的结果继续计算。默认false。

  • Product Coherence Threshold:相关系数阈值,当低于这个阈值的像素将以 NaN 输出。这里设置0.3。

  • Displacement Model Type:Linear。提示:基于模型计算出所有像对的形变(日期、速度、加速度和加速度变化)和高程(校正值和新的 DEM),提供无位移模型、线性模型、二次方模型、三次方模型四个模型,其中,线性模型最稳定,其他模型需要密集的连接图和高相干性才能得到可靠的结果。

  • Estimate Residual Height:估算残余高度,

    • 在高质量的高参考分辨率 DEM 的情况下,不需要对地形分量进行估算。
    • 在少于20张图像的情况下,这可能导致倾倒残余高度估计,从而导致错误的速度估算。
      如果选择了此参数,并且选择的“位移模型类型”为“无位移”,则 SBAS 将用于生成精确的 DEM。
  • Spatial Wavelet Size(m):空间小波尺寸,它将估算的残差地形数据分辨率保留到指定值。可以消除此分辨率值下的低通失真,并使用小波分解保留了空间细节。 如果此值较小或等于 0,则不考虑此值。

  • Allow Disconnected Blocks:是否丢弃孤立成像数据,默认为 False。

  • Min Valid Interferograms %:最小有效干涉图,每个输出网格点获得可接受结果的可接受 SBAS 反演方程(超过相干阈值的干涉图)的最小数量的百分比。 如果此参数等于或大于零有效干涉图,则考虑此参数,并且应在标记“是否丢弃孤立成像数据”(或之前已在连接图生成步骤中标记“是否丢弃孤立成像数据”)时使用。

  • Stop Before Unwrapping:可以在二次解缠前停止,好让用户检查第一次的结果,结果在输出路径下的 “inversion folder” 文件夹下,默认为 False。

  • Number of Parallel Unwrapping:同时解缠数量,定义将并行执行的解缠数量数(每个线程一个干涉图)。此参数不得超过 CPU 线程的总数。

  • Unwrapping Method Type:Delaunay MCF,解缠方法。

  • Unwrapping Decomposition Level:解缠分解等级,默认 1。

  • Unwrapping Coherence Threshold:解缠相干系数阈值,设置为 0.3。

  • Refinement Radius:轨道精炼半径,最大缓冲半径为地面控制点相对于斜距解缠相位更近的有效像素

  • Redinement Res Phase Poly Degree:轨道精炼的多项式次数,在重去平的过程中用到的估算相位斜坡的多项式次数,若输入的控制点个数较少,次数会自动降低。默认的 3 表示在距离向和方位向加上一个恒定的相位偏移的相位斜坡会被修正,如果仅需要相位偏移校正,这个次数可以设置为 1。

点击exec开始计算

7.4 查看输出结果

  • 输出结果均保存在first_inversion文件夹下

8 反演第二步Inversion:Second Step

工具路径:/SARscape/Interferometric Stacking/SBAS/4 - Inversion: Second Step

  • 这一步的核心是计算时间序列上的位移,在第一步得到的形变速率(_disp_first)基础上,进行定制的大气滤波,从而估算和去除大气相位,得到更加纯净的时间序列上的最终位移结果。
  • 大气高通、大气低通两个选项,对大气影响进行估计,最后每个时间都从测量的位移中减去这些大气部分。在这里“Displacement GCP file”是用来去除还有残余的相位或相位斜坡,在这里,使用轨道精炼的时候所用的轨道控制点。

8.1 输入auxiliary.sml文件


2. 在 Refinement GCP file 选项中选择前面轨道精炼的时候使用的控制点文件。可选,这里我没输入。
提示:这里的 GCP 只是用来移除恒定相位或者斜坡相位。

8.2 Parameters 参数设置

单击 Parameters 面板,选择 Principal Parameters 选项,设置以下参数:

  • Rebuild All:- Rebuild All:是否全部重建,如果选择true,那么中断计算后再点击exec就会重新计算这一步,如果点击false,中断计算后如果再次点击exec则会继承之前计算的结果继续计算。默认false。
  • Product Coherence Threshold:相关系数阈值,当低于这个阈值的像素将以 NaN 输出。这里设置 0.3。
  • Interpol Disconnected Blocks:当时间序列数据不存在的部分,可以通过插值方法估算形变。如果前面处理中设置了 Allow Disconnected Blocks=True 时,这里可以设置为 True。
  • Min Valid Interferograms %: 最小有效购置量(%),在每个输出网格点获得可接受结果的最小有效采集次数百分比(至少由超过相干阈值的一定数量的有效干涉图覆盖)。如果该参数等于或大于零,则应考虑该参数,并且应在标记“Interpol Disconnected Blocks”(或之前在连接图生成步骤中标记了“Allow Disconnect Blocks(允许断开连接块)”)时使用该参数。如果该参数等于或大于零,则应考虑该参数,并且应在标记“Interpol Disconnected Blocks”(或之前在连接图生成步骤中标记了“Allow Disconnect Blocks(允许断开连接块)”)时使用该参数。
  • Min Valid Acquisitions:最小有效购置量,在每个输出网格点获得可接受结果的最小有效采集次数(由至少一定量的有效干涉图覆盖超过相干阈值)的百分比。如果等于或大于零,则考虑此参数,并且应在标记国际刑警组织断开连接块时使用(或者之前已在连接图生成步骤中标记了“允许断开连接的块”)
  • Atmosphere Low Pass Size:大气低通尺寸,输入以米为单位的窗口大小。应用于空间分布相关滤波。默认 1200。
  • Atmosphere High Pass Size:大气高通尺寸,输入以天为单位的窗口大小。应用于时间分布相关滤
    波。默认 365。
  • Refinement Radius:轨道精炼半径,最大缓冲半径为地面控制点相对于斜距解缠相位更近的有效像素
  • Redinement Res Phase Poly Degree:轨道精炼的多项式次数,在重去平的过程中用到的估算相位斜坡的多项式次数,若输入的控制点个数较少,次数会自动降低。默认的 3 表示在距离向和方位向加上一个恒定的相位偏移的相位斜坡会被修正,如果仅需要相位偏移校正,这个次数可以设置为 1。



8.4 查看输出结果

  • 输出成果均保存在second_inversion文件夹下

包含以下产品的目录:

  • 由于输出产品大量元数据(_meta),并生成时间序列 (.series).文件。它们能够同时加载所有相关的输出产品:

  • 反演inversion子文件夹,其中包含 SBAS 反转中的产品(第二个模型)在斜距几何图中。

  • 轨道精炼和重去平 GCP 的内部副本 (.xml)。

  • 转化为shp格式的斜距轨道精炼和重去平 GCP几何文件。

  • 转换为shp和kml格式的地距轨道精炼和重去平 GCP 几何文件。

生成的元数据和时间序列数据:

  • SI_model_meta,SI_model.series,指的是从时间序列多项式回归中获得的残余高度和位移速度(加上辅助层),在倾斜范围几何中。

  • SI_disp_first_meta,SI_disp_first.series,指的是按日期排列的日期位移,以斜距几何形状测量,无需大气校正。

  • SI_disp_meta,SI_disp.series,指的是在大气校正后以斜距几何形状测量的日期位移。

  • SI_interf_counter_meta,SI_interf_counter.series,指每次采集的有效测量(相干性高于产品相干阈值的干涉图)数量。

  • SI_only_disp_upha_meta,SI_only_disp_upha系列,指由残余高度估算分量的所有去平相位解缠数据。

  • SI_second_reflat_upha_meta,SI_second_reflat_upha.series,指为第二次SVD反演的重去平解缠相位数据。

反演的输出结果:

  • 位移相关产品有:

  • SI_term_0,对应于反演多项式 [mm] 的零次项。

  • SI_term_1,对应于反演多项式的一阶项 [mm/年]。 SI_term_2,对应于反演多项式的二阶项[mm/year2]。

  • SI_term_3,对应于反演多项式的三阶项 [mm/year3]。

  • SI_velocity,对应于平均位移速度 [mm/年]。

  • SI_acceleration,对应于平均位移加速度 [mm/year2]。

  • SI_delta_acceleration,对应于平均位移加速度变化[mm/year3]。

  • SI_periodical_modulation,对应于周期性模型调制[mm]。

  • SI_periodical_delay,对应于周期性模型延迟[天]。

  • SI_disp_first_est,对应于相对于第一个采集日期测量的特定位移(以毫米为单位),该日期分配了零位移,没有大气校正

  • SI_disp,对应于在大气校正后相对于第一个采集日期测量的特定位移(以毫米为单位),该日期分配了零位移

一般产品:

  • SI_coherence,对应于多时序相干性。它显示位移趋势与所选模型的拟合程度。

  • SI_RMSE_rad,这是反演质量的衡量标准。它是以弧度表示的RMSE。此值越高,拟合和反转质量越差。

  • SI_RMSE_mm,这是衡量配件质量的指标。它是以毫米表示的RMSE。此值越高,拟合和反转质量越差。

  • SI_norm_L1,对应于按日期计算的日期绝对值位移的累积总和(以毫米为单位)。

  • SI_interf_counter,使用每个获取的有效度量值编号进行计数。

  • SI_image_perc有效的购置百分比(至少由一个有效度量值涵盖)。

  • SI_interf_perc,有效的干涉图百分比。

位移值报告如下:

  • 如果位移对应于传感器到目标的斜距减小,则为正号。

  • 如果位移对应于传感器到目标的斜距增加,则为负号。

work_second_inversion文件夹

  • 用于存储中间处理结果的目录。

9 地理编码Geocoding

工具路径:/SARscape/Interferometric Stacking/SBAS/5 - Geocoding

9.1 输入auxiliary.sml数据

9.2 在 DEM/Cartographic System 面板中,选择 DEM 文件。

9.3 Parameters参数设置

单击 Parameters 面板,选择 Principal Parameters 选项,设置以下参数:

  • Rebuild All:- Rebuild All:是否全部重建,如果选择true,那么中断计算后再点击exec就会重新计算这一步,如果点击false,中断计算后如果再次点击exec则会继承之前计算的结果继续计算。默认false。

  • Height Precision Threshold:10。高度精度阈值。

  • Velocity Precision Threshold:8。速率精度阈值。

  • Product Temporal Coherence Threshold:产品时间一致性阈值,时间一致性测量值的下限。该阈值与“高度精度阈值”和“速度精度阈值”一起用于掩膜过程。

  • Water Mask (dB):水域掩膜,Vale(单位:dB)用作从平均强度图像中检索水体掩模的阈值。低于此阈值的所有点将从输出层中删除。如果小于0,则激活。

  • Make Geocoded Raster:是否创建地理编码栅格,选True,将生成输出栅格文件。

  • Make Geocoded Shape:是否创建地理编码矢量,选True,将生成输出矢量文件。

  • Shape Max Number of Points:最大点数,如果输入了-1以外的值,则输出形状文件将拆分为多个部分(每个部分都用渐进编号标记 - _1; _2;形状的每个部分都包含总点数的一部分,该部分对应于输入的值。建议不要超过200000点,以避免可视化问题。

  • Generate Shape Time Series:生成时间序列,选True,将生成输出矢量文件,其中包含位移时间演变。

  • Generate Shape Counter Series:生成矢量计数器序列,通过设置此标志,将生成输出矢量文件,其中包含每个采集日期的有效干涉图计数器。当计数器为零时,对应的采集日期已被时间插值。计数器越高,相应的估计位移测量的可靠性越高。

  • Vertical Displacement:垂直形变,形变和速率将投影到垂直方向,如果实际位移方向未知,则不要使用重新投影。

  • Slope Displacement:斜面形变,形变和速率将投影到斜距方向,如果实际位移方向未知,则不要使用重新投影。

  • Displacement Custom Direction:自定义形变方向,设置为 True 时,形变和速率将投影到自定方向上,需要设置方位角(Azimuth Angle:以度为单位,从北顺时针方向)和倾斜角(Inclination Angle:以度为单位,从水平面开始计算)。

  • Azimuth Angle:方位角,自定义方向 方位角 从北向以度为单位测量 - 顺时针方向。

  • Inclination Angle:入射角,自定义方向倾角,以与水平平面的度数为单位进行测量。

  • X Dimension (m):输出像元 X 方向大小,以米为单位。对于地理投影,如果输入的值大于0.2,它们将被视为公制单位,然后自动(粗略地)从米转换为度;如果输入的值小于0.2,它们将被视为度数,并且无需任何转换即可使用。

  • Y Dimension (m):输出像元 Y 方向大小,以米为单位。对于地理投影,如果输入的值大于0.2,它们将被视为公制单位,然后自动(粗略地)从米转换为度;如果输入的值小于0.2,它们将被视为度数,并且无需任何转换即可使用。

  • Mean Window Size:对高度图像结果做均值滤波处理。如果果输入0,则不应用均值滤波。 此筛选器在执行插值步骤后应用

  • Interpolation Window Size:对结果图像中的无效值用窗口大小内的像素平均值差值,设置 0 表示不进行插值。

  • Refinement Radius:轨道精炼半径,最大缓冲半径为地面控制点相对于斜距解缠相位更近的有效像素

  • Redinement Res Phase Poly Degree:轨道精炼的多项式次数,在重去平的过程中用到的估算相位斜坡的多项式次数,若输入的控制点个数较少,次数会自动降低。默认的 3 表示在距离向和方位向加上一个恒定的相位偏移的相位斜坡会被修正,如果仅需要相位偏移校正,这个次数可以设置为 1。



9.5 输出文件

  • 对 SBAS 的结果进行地理编码,同时可以将地表形变结果投影到用户自定义方向上。主要的产品结果包括:

geocoding地理编码文件夹:

  • 包含以下产品的目录:

    • 由于输出产品元数据(_meta),并生成时间序列(.series)文件。它们能够同时加载所有相关的输出产品:

    • 包含栅格版本中产品的栅格raster子文件夹。

    • 矢量ector子文件夹,其中包含形状版本的产品。

  • 生成的元数据(_meta),并生成时间序列(.series)文件。

    • G_model_geo_meta,它是指输出投影坐标中的高度和位移速度测量值(以及辅助图层)。

    • G_disp_first_geo_meta,指在输出投影坐标中测量的按日期排列的位移,无需大气校正。

    • G_disp_geo_meta,指输出投影坐标中大气校正后按日期排列的形变。

    • G_interf_counter_geo_meta,它指的是每次获取的有效度量值计数器。

“栅格raster”文件夹中的输出结果包括:

  • 位移相关产品有:

    • G_FI_velocity_geo,对应于第一反演平均位移速度 [mm/年]。此栅格是不存在G_SI_velocity_geo时的结果。

    • G_FI_acceleration_geo,对应于第一个反演平均位移加速度 [mm/年2]。此栅格是不存G_SI_acceleration_geo时的结果

    • G_FI_delta_acceleration_geo,对应于第一反演平均位移加速度变化[mm/年3]。此栅格是不存在G_SI_delta_acceleration_geo时的结果

    • G_SI_velocity_geo,对应于第二反演平均位移速度 [mm/年]。

    • G_SI_acceleration_geo,对应于第二反演平均位移加速度[mm/年第2年]。

    • G_SI_delta_acceleration_geo,对应于第二反演平均位移加速度变化[mm/年3]。

    • G_SI_term_0_geo,对应于第二反演多项式 [mm] 的零次项。

    • G_SI_term_1_geo,对应于第二反演多项式 [mm/year] 的一阶项。

    • G_SI_term_2_geo,对应于第二反演多项式的二阶项 [mm/year2]。

    • G_SI_term_3_geo,对应于第二反演多项式的三阶项 [mm/year3]。

    • G_FI_V_precision_geo,对应于速度测量平均精度 [mm/年]。

    • G_SI_DDDDDDD_X_disp_geo,对应于相对于第一个采集日期测量的特定位移 [mm],其中分配了零位移。其中,“DDDDDDD”为获取日期,X 为增量日期 ID。

    • G_SI_DDDDDDD_X_disp_first_geo,对应于相对于第一个采集日期测量的特定位移[mm],该日期被分配为零位移,而不进行大气去除。其中,“DDDDDDD”为获取日期,X 为增量日期 ID。

  • 一般产品包括:

    • G_FI_H_correction_geo,对应于相对于输入数字高程模型的第一反转校正 [m]。此栅格是不存在G_SI_H_corretion_geo时的结果。

    • G_SI_H_correction_geo,对应于相对于输入数字高程模型的第二次反演校正 [m]。

    • G_FI_H_precision_geo,对应于高度测量平均精度 [m](有关详细信息,请参阅相位到位移的转换)。

    • G_FI_DEM,对应于第一个反演校正数字高程模型[m]。此栅格是不存在G_SI_DEM时的结果。

    • G_SI_DEM,对应于第二个反演校正数字高程模型[m]。

    • G_SI_RMSE_mm_geo,这是对地理编码的拟合质量的度量。它是 “嗯”号。此值越高,拟合和反转质量越差。

    • G_SI_ DDDDDDD_X_interf_counter_geo,对应于每个日期的有效度量值计数器。

    • G_SI_interf_perc_geo,有效的干涉图百分比。

    • G_SI_image_perc_geo有效的购置百分比(至少由一个有效度量值涵盖)。

    • G_SI_disc_counter_geo,断开连接计数器(SBAS 断开连接块断开连接计数器)。

    • G_ALOS_geo,方位角视线。正角是从北面顺时针方向测量的;负角是从北面逆时针方向测量的。

    • G_ILOS_geo,视线的入射角。角度是在视线和椭球体上的垂直线(平坦的地球)之间测量的。

“矢量vector”文件夹中的输出结果包括:

  • G_vVdV_hHdH_cCdC_X.shp,其中 VdV 是精度速度阈值,HdH 是高度精度阈值,CdC 是时间相干阈值,X .kml .dbf 是形状部件 ID。如果点数大于“持久散射器参数”中定义的“形状最大点数”,则会创建多个矢量文件。

10 形变结果时序分析

  • 工具路径:/SARscape/General Tools/Time Series Analyzer/Raster

  • 打开G_disp_geo_meta文件

  • 打开工具后,在图上点击需要分析的地点,再点击Plot画图即可,点可以多选


感谢阅读!

有关SARScape中用sentinel-1数据做SBAS-InSAR完整流程(2/2)的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. ruby - 在 Ruby 中用键盘诅咒数组浏览 - 2

    我正在尝试在Ruby中制作一个cli应用程序,它接受一个给定的数组,然后将其显示为一个列表,我可以使用箭头键浏览它。我觉得我已经在Ruby中看到一个库已经这样做了,但我记不起它的名字了。我正在尝试对soundcloud2000中的代码进行逆向工程做类似的事情,但他的代码与SoundcloudAPI的使用紧密耦合。我知道cursesgem,我正在考虑更抽象的东西。广告有没有人见过可以做到这一点的库或一些概念证明的Ruby代码可以做到这一点? 最佳答案 我不知道这是否是您正在寻找的,但也许您可以使用我的想法。由于我没有关于您要完成的工作

  3. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  4. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

  5. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  6. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  7. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  8. ruby-on-rails - 创建 ruby​​ 数据库时惰性符号绑定(bind)失败 - 2

    我正在尝试在Rails上安装ruby​​,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf

  9. STM32读取串口传感器数据(颗粒物传感器,主动上传) - 2

    文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,

  10. SPI接收数据异常问题总结 - 2

    SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手

随机推荐