我正在使用pic18f4550,其端口大小为6位
我想读取和写入8位数据。 我所做的是在(假设)端口A和端口C上写入数据
我现在要做的是从端口A读取所有6位并将它们与C的前两位连接起来,以便将结果存储在保存8位的字符中 我怎么能这样连接?
换句话说我想做这个char a = PortA from(0-5)+ portc from(0:1)?
答案 0 :(得分:0)
只需移位,屏蔽和OR
位,例如
uint8_t a, b;
// ... read data from ports A and B into a, b ...
uint8_t c = (a << 2) | (b & 0x03); // shift a left by 2 bits and
// OR with LS 2 bits of b