u32 DcmTBNE(void) { if(dcm.kase != 8){ return(1); }else{ return(DCM_U_TBNE); } } void dcm_put_rtc(u8* asrc,u8* adst) { FuncCpoyStr(asrc,adst,7); if(my.rtc_modbus[7]){ ; }else{ FuncBcd2Hex(asrc,my.rtc_modbus,7); } }
时间: 2024-04-13 15:27:42 浏览: 93
这段代码是一个C语言函数的实现。第一个函数名为`DcmTBNE`,返回类型是`u32`(无符号32位整数)。函数内部有一个条件判断语句,如果`dcm.kase`不等于8,则返回1,否则返回`DCM_U_TBNE`。
第二个函数是`dcm_put_rtc`,没有返回类型(即返回类型为`void`)。函数接受两个参数,均为指向`u8`类型的指针。函数内部调用了一个名为`FuncCpoyStr`的函数,用于将源字符串复制到目标字符串中。接着,根据条件判断语句,如果`my.rtc_modbus[7]`为真,则不执行任何操作;否则,调用了名为`FuncBcd2Hex`的函数,将源字符串转换成BCD码后存储到`my.rtc_modbus`数组中。
请注意,这段代码只是一部分,可能需要结合其他代码来理解完整的功能。
相关问题
u32 DcmDispStr(u16 screen,u16 pos,u8* str,u8 len) { u32 p; if(DCM_U_TBNE){ return(1); }else{ p = 0; dcm.tbuf[p++] = 0XEE; dcm.tbuf[p++] = 0XB1; dcm.tbuf[p++] = 0X10; dcm.tbuf[p++] = (screen >> 8); dcm.tbuf[p++] = screen; dcm.tbuf[p++] = (pos >> 8); dcm.tbuf[p++] = pos; FuncCpoyStr(str,&dcm.tbuf[p],len); p += len; dcm.tbuf[p++] = 0XFF; dcm.tbuf[p++] = 0XFC; dcm.tbuf[p++] = 0XFF; dcm.tbuf[p++] = 0XFF; DCM_U_SEND; return(0); } }
这段代码是一个函数DcmDispStr,它用于在显示屏上显示字符串。函数的参数包括屏幕编号、位置、字符串以及字符串长度。下面是对代码的解析:
1. 首先定义了一个变量p,用于记录写入dcm.tbuf数组的位置。
2. 如果DCM_U_TBNE为真(非零),则返回1,表示缓冲区已满,无法继续写入字符串。
3. 如果DCM_U_TBNE为假(零),则继续执行下面的代码:
a. 将0xEE、0xB1、0x10这三个字节写入dcm.tbuf数组,用于标识开始显示字符串的命令。
b. 将屏幕编号和位置以大端字节序写入dcm.tbuf数组。
c. 调用FuncCpoyStr函数,将输入的字符串拷贝到dcm.tbuf数组中。
d. 更新p的值,指向字符串结束后的下一个位置。
e. 将0xFF、0xFC、0xFF、0xFF这四个字节写入dcm.tbuf数组,用于标识结束显示字符串的命令。
f. 调用DCM_U_SEND函数,发送dcm.tbuf数组中的数据。
g. 返回0,表示字符串显示成功。
需要注意的是,这段代码只是提供了函数的实现,并没有完整的上下文和定义,因此无法进行完整的分析和测试。如果需要更多帮助,请提供更多相关的代码和上下文信息。
dcm_root = r"C:\Users\HP\Desktop\image\data" jpg_root=r'C:\Users\HP\Desktop\image\save1' img_list=[] if not os.path.exists(jpg_root): #文件夹下没有储存的文件路径的话就创造一个 os.mkdir(jpg_root) for dirpath,filedirs,filenames in os.walk(dcm_root): # 遍历dcm根目录下的所有子文件夹和文件 for file in filenames: # 遍历每个文件 if file.endswith('.dcm'): #判断其是否为dcm文件,若是则进行转换 file_path = os.path.join(dirpath, file) #获取完整文件路径 ds = pydicom.dcmread(file_path) # 读取dcm文件 if len(ds.pixel_array.shape) == 3: # 如果图像数据是三维数组,说明有多个图片 for i in range(ds.pixel_array.shape[0]): #遍历每个图片 img = ds.pixel_array[i] # 获取第i个图片数据 img -= np.min(img) if np.max(img) != 0: img = img / np.max(img) img = (img * 255).astype(np.uint8) plt.imshow(img, cmap='gray') plt.axis('off') plt.show() img_list.append(img) else: # 如果图像数据不是三维数组,说明只有一个图片 img = ds.pixel_array # 获取图像数据 img -= np.min(img) if np.max(img) != 0: img = img / np.max(img) img = (img * 255).astype(np.uint8) img_list.append(img) plt.imshow(img, cmap='gray') plt.axis('off') plt.show()如何将plt展示的图片存于jpg_root里
您可以使用Matplotlib库中的`savefig()`函数将展示的图片保存为JPEG格式。在展示图片的代码中,加入以下代码即可将图片保存到指定路径:
```python
plt.savefig(os.path.join(jpg_root, file.replace('.dcm', '.jpg')))
```
其中,`os.path.join(jpg_root, file.replace('.dcm', '.jpg'))`表示将JPEG文件保存在`jpg_root`文件夹下,并将文件名与原始DCM文件名相同,只是后缀名改为`.jpg`。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231045053.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)