更新:数码管只刷新改变的位置
This commit is contained in:
parent
3357a8af8d
commit
3ff3a5e703
|
@ -2,7 +2,7 @@
|
||||||
* @Author: wujunchao wujunchao@wuxismart.com
|
* @Author: wujunchao wujunchao@wuxismart.com
|
||||||
* @Date: 2024-12-27 11:51:06
|
* @Date: 2024-12-27 11:51:06
|
||||||
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
||||||
* @LastEditTime: 2025-03-19 17:02:06
|
* @LastEditTime: 2025-03-19 18:39:43
|
||||||
* @FilePath: \signal_generator\App\APP_WU\Inc\apps_gather.h
|
* @FilePath: \signal_generator\App\APP_WU\Inc\apps_gather.h
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* @Author: wujunchao wujunchao@wuxismart.com
|
* @Author: wujunchao wujunchao@wuxismart.com
|
||||||
* @Date: 2024-12-27 11:50:56
|
* @Date: 2024-12-27 11:50:56
|
||||||
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
* @LastEditors: wujunchao wujunchao@wuxismart.com
|
||||||
* @LastEditTime: 2025-03-19 18:35:25
|
* @LastEditTime: 2025-03-19 19:06:14
|
||||||
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
|
* @FilePath: \signal_generator\App\APP_WU\Src\apps_gather.c
|
||||||
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
||||||
*/
|
*/
|
||||||
|
@ -1290,31 +1290,57 @@ void keyset_output(int8_t key_step)
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置当前的输出值(实际值-> (无符号)数组),可直接输入负数
|
//设置当前的输出值(实际值-> (无符号)数组),可直接输入负数
|
||||||
|
//记录缓存变化的位置
|
||||||
|
uint8_t change_flag[7] = {0};
|
||||||
void set_output_array(int32_t pvo)
|
void set_output_array(int32_t pvo)
|
||||||
{
|
{
|
||||||
|
int32_t temp = 0;
|
||||||
|
|
||||||
pvo = (pvo > 0)?(pvo):(0 - pvo);
|
pvo = (pvo > 0)?(pvo):(0 - pvo);
|
||||||
|
|
||||||
//将实际值转换成6个独立数字
|
//将实际值转换成6个独立数字
|
||||||
m5data.o_numbers[0] = (pvo/1000000 > 9)?(9):(pvo/1000000);
|
for(uint8_t i = 0; i < 7; i++)
|
||||||
m5data.o_numbers[1] = (pvo/100000) % 10;
|
{
|
||||||
m5data.o_numbers[2] = (pvo/10000) % 10;
|
temp = ( pvo / (int32_t)my_power( 10,( 6 - i ) ) ) % 10;
|
||||||
m5data.o_numbers[3] = (pvo/1000) % 10;
|
if(temp != m5data.o_numbers[i])
|
||||||
m5data.o_numbers[4] = (pvo/100) % 10;
|
{
|
||||||
m5data.o_numbers[5] = (pvo/10) % 10;
|
m5data.o_numbers[i] = temp;
|
||||||
m5data.o_numbers[6] = pvo % 10;
|
change_flag[i] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if( m5data.o_numbers[0] > 9 ) m5data.o_numbers[0] = 9;
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置输出值:数字显示 + 符号 + 缓存,sto:实际值(有符号)
|
//设置输出值:数字显示 + 符号 + 缓存,sto:实际值(有符号)
|
||||||
void set_output(float32 sto)
|
void set_output(float32 sto)
|
||||||
{
|
{
|
||||||
|
if( (sto < 0)&&(m5data.sign_flag_out == 0) )
|
||||||
|
{
|
||||||
|
//出现负数并且没有显示负号时
|
||||||
|
set_nixie_cube_sign(IO_OUTPUT, 1);
|
||||||
|
}
|
||||||
|
else if(( (sto >= 0)&&(m5data.sign_flag_out == 1) ))
|
||||||
|
{
|
||||||
|
//数值为非负数,但仍然显示负号时
|
||||||
|
set_nixie_cube_sign(IO_OUTPUT, 0);
|
||||||
|
}
|
||||||
|
|
||||||
//乘以1000用于绕开 int32 和 float32 之间的转换
|
//乘以1000用于绕开 int32 和 float32 之间的转换
|
||||||
sto *= 1000;
|
sto *= 1000;
|
||||||
|
|
||||||
//设置数码管 数值 显示与 符号 显示
|
|
||||||
set_nixie_cube(IO_OUTPUT, 99, sto);
|
|
||||||
|
|
||||||
//更新缓存
|
//更新缓存
|
||||||
set_output_array(sto);
|
set_output_array(sto);
|
||||||
|
|
||||||
|
//刷新改变的位置
|
||||||
|
for(uint8_t i = 0;i < 7;i++)
|
||||||
|
{
|
||||||
|
if(change_flag[i])
|
||||||
|
{
|
||||||
|
set_nixie_cube(IO_OUTPUT, i, m5data.o_numbers[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//获取当前设定的输出值
|
//获取当前设定的输出值
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue