hx1838 stm32程序

时间: 2023-05-16 21:03:43 浏览: 99
HX1838是一款红外线接收模块,可以用来接收红外线信号。它的应用非常广泛,例如遥控器、人体红外检测器、自动门等。这里我们将介绍如何在STM32单片机上实现HX1838的控制。 首先,需要初始化GPIO口,将其设置为输入模式,用来接收HX1838发射的红外信号。然后,可以使用外部中断功能,在STM32单片机上启动一个中断响应函数,当有红外信号时,中断响应函数将被触发。 在中断响应函数中,我们可以读取红外信号数据,根据具体的应用场景进行相关的处理。例如,当遥控器按下某个键时,我们可以将该操作对应的代码发送到外部设备或者执行相应的程序。 需要注意的是,由于HX1838接收到的信号是以二进制码的形式传输的,因此需要使用解码库对接收到的数据进行解码,得到有意义的操作数据。 最后,在程序结尾处需要对中断进行清除,保证程序准备好下一次接收红外信号。 HX1838与STM32单片机的程序控制十分灵活,具体控制方式可根据实际需求进行设计。
相关问题

hx1838b stm32程序

HX1838B是一种通用的红外发射接收模块,可与STM32单片机进行通信。下面是一个基于STM32的HX1838B的程序示例: 首先,你需要在STM32上的GPIO引脚连接HX1838B模块的接收引脚。 然后,你可以使用任何可用的STM32开发环境,如Keil或STM32CubeIDE,来创建一个新的工程。 在工程中,你需要包含相关的头文件,如"stm32f4xx.h",以便使用STM32的函数和寄存器。 接下来,你可以配置GPIO引脚模式和速度,以及使能外部中断功能。具体的配置代码如下: GPIO_InitTypeDef GPIO_InitStruct; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx, ENABLE); //x为对应的GPIO端口号 GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IN; //将引脚配置为输入模式 GPIO_InitStruct.GPIO_OType = GPIO_OType_PP; //推挽输出 GPIO_InitStruct.GPIO_Pin = GPIO_Pin_x; //x为对应的引脚号 GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL; //无上下拉电阻 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz; //引脚速度为50MHz GPIO_Init(GPIOx, &GPIO_InitStruct); //初始化GPIO引脚 接下来,你需要配置外部中断,并编写中断服务函数来处理接收到的红外信号。具体的配置和中断服务函数的代码如下: EXTI_InitTypeDef EXTI_InitStruct; NVIC_InitTypeDef NVIC_InitStruct; RCC_APB2PeriphClockCmd(RCC_APBxPeriph_SYSCFG, ENABLE); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOx, EXTI_PinSourcex); //x为对应的GPIO端口号和引脚号 EXTI_InitStruct.EXTI_Line = EXTI_Line_x; //x为对应的中断线路号 EXTI_InitStruct.EXTI_LineCmd = ENABLE; //使能外部中断线路 EXTI_InitStruct.EXTI_Mode = EXTI_Mode_Interrupt; //外部中断模式 EXTI_InitStruct.EXTI_Trigger = EXTI_Trigger_Rising_Falling; //触发方式为上升沿或下降沿 EXTI_Init(&EXTI_InitStruct); NVIC_InitStruct.NVIC_IRQChannel = EXTIx_IRQn; //x为对应的外部中断线路号 NVIC_InitStruct.NVIC_IRQChannelPreemptionPriority = 0; NVIC_InitStruct.NVIC_IRQChannelSubPriority = 0; NVIC_InitStruct.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&NVIC_InitStruct); void EXTIx_IRQHandler(void) //x为对应的外部中断线路号 { if(EXTI_GetITStatus(EXTI_Line_x) != RESET) //x为对应的外部中断线路号 { // 处理接收到的红外信号 // 你可以在这里编写具体的代码来解码红外信号并执行相应的操作 EXTI_ClearITPendingBit(EXTI_Line_x); //x为对应的外部中断线路号 } } 最后,你需要在主函数中调用相应的初始化函数和配置函数来启动HX1838B模块和外部中断。具体的代码如下: int main(void) { // 初始化函数 /* 在这里调用相应的初始化函数,如RCC配置函数、GPIO配置函数等 */ // 配置函数 /* 在这里调用相应的配置函数,如GPIO配置函数、外部中断配置函数等 */ while(1) { // 主循环函数 /* 在这里编写你的主循环逻辑 */ } } 以上就是一个基于STM32的HX1838B程序的简单示例,你可以根据自己的需求进一步修改和完善它。

stm32应用hx1838

HX1838是一款红外遥控接收模块,可以用于接收红外遥控信号。下面是使用STM32控制HX1838的一些步骤: 1. 连接电路:将HX1838的OUT引脚连接到STM32的一个GPIO输入引脚上。 2. 配置GPIO:将连接到HX1838的STM32 GPIO引脚配置为输入模式,可以使用CubeMX工具轻松完成这一步骤。 3. 编写程序:在程序中使用GPIO读取HX1838输出的信号,并根据不同的信号实现相应的功能。 下面是一个简单的示例代码,可以读取HX1838接收到的红外信号: ``` #include "stm32f1xx_hal.h" #define HX1838_GPIO_Port GPIOA #define HX1838_GPIO_Pin GPIO_PIN_0 int main(void) { HAL_Init(); __HAL_RCC_GPIOA_CLK_ENABLE(); GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.Pin = HX1838_GPIO_Pin; GPIO_InitStruct.Mode = GPIO_MODE_INPUT; GPIO_InitStruct.Pull = GPIO_NOPULL; HAL_GPIO_Init(HX1838_GPIO_Port, &GPIO_InitStruct); while (1) { if (HAL_GPIO_ReadPin(HX1838_GPIO_Port, HX1838_GPIO_Pin) == GPIO_PIN_RESET) { // HX1838输出低电平,表示接收到红外信号 // 在这里可以编写相应的逻辑代码 } } } ``` 在实际使用中,可以根据HX1838接收到的红外信号的编码格式,解码出具体的按键信息,从而实现遥控器的功能。

相关推荐

以下是基于STM32F4的HX1838红外遥控程序示例: c #include "stm32f4xx.h" #include "stm32f4xx_gpio.h" #include "stm32f4xx_rcc.h" #include "misc.h" #define IR_PIN GPIO_Pin_0 #define IR_GPIO GPIOA #define IR_RCC RCC_AHB1Periph_GPIOA volatile uint32_t tick_count = 0; volatile uint32_t last_edge_time = 0; volatile uint32_t ir_code = 0; void SysTick_Handler(void) { tick_count++; } void EXTI0_IRQHandler(void) { if(EXTI_GetITStatus(EXTI_Line0) != RESET) { uint32_t current = tick_count; uint32_t elapsed = current - last_edge_time; last_edge_time = current; if(elapsed > 7000) // Start bit { ir_code = 0; } else if(elapsed > 3500) // End bit { // Process received IR code here } else // Data bit { ir_code <<= 1; if(elapsed > 1000) // Logic 1 { ir_code |= 1; } } EXTI_ClearITPendingBit(EXTI_Line0); } } void init_systick(void) { SysTick_Config(SystemCoreClock / 1000); } void init_ir_receiver(void) { GPIO_InitTypeDef gpio_init; EXTI_InitTypeDef exti_init; NVIC_InitTypeDef nvic_init; RCC_AHB1PeriphClockCmd(IR_RCC, ENABLE); gpio_init.GPIO_Pin = IR_PIN; gpio_init.GPIO_Mode = GPIO_Mode_IN; gpio_init.GPIO_Speed = GPIO_Speed_50MHz; gpio_init.GPIO_OType = GPIO_OType_PP; gpio_init.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(IR_GPIO, &gpio_init); RCC_APB2PeriphClockCmd(RCC_APB2Periph_SYSCFG, ENABLE); SYSCFG_EXTILineConfig(EXTI_PortSourceGPIOA, EXTI_PinSource0); exti_init.EXTI_Line = EXTI_Line0; exti_init.EXTI_Mode = EXTI_Mode_Interrupt; exti_init.EXTI_Trigger = EXTI_Trigger_Rising_Falling; exti_init.EXTI_LineCmd = ENABLE; EXTI_Init(&exti_init); nvic_init.NVIC_IRQChannel = EXTI0_IRQn; nvic_init.NVIC_IRQChannelPreemptionPriority = 0x00; nvic_init.NVIC_IRQChannelSubPriority = 0x00; nvic_init.NVIC_IRQChannelCmd = ENABLE; NVIC_Init(&nvic_init); } int main(void) { init_systick(); init_ir_receiver(); while(1) { // Your code here } } 这个程序使用了STM32F4的SysTick定时器来计算时间,并使用了外部中断EXTI0来接收HX1838红外解码器的信号。当接收到红外信号时,程序将计算时间间隔并解码数据。你可以在"Process received IR code here"注释下面的代码中添加你自己的逻辑来处理解码后的数据。
您好!关于HX711称重模块和STM32的连接,一般可以通过STM32的GPIO口与HX711进行通信。具体连接方式如下: 1. 将HX711的DT和SCK引脚分别连接到STM32的两个GPIO口上。 2. 在STM32的程序中,通过GPIO口控制HX711的DT和SCK引脚的电平变化,实现数据的读取和传输。 以下是一个简单的HX711和STM32的程序示例: c #include "stm32f10x.h" #define HX711_DT_PIN GPIO_Pin_0 #define HX711_DT_PORT GPIOA #define HX711_SCK_PIN GPIO_Pin_1 #define HX711_SCK_PORT GPIOA void HX711_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = HX711_DT_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(HX711_DT_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = HX711_SCK_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(HX711_SCK_PORT, &GPIO_InitStructure); GPIO_SetBits(HX711_SCK_PORT, HX711_SCK_PIN); GPIO_ResetBits(HX711_SCK_PORT, HX711_SCK_PIN); } int HX711_Read(void) { int count = 0; int i; GPIO_ResetBits(HX711_SCK_PORT, HX711_SCK_PIN); while (GPIO_ReadInputDataBit(HX711_DT_PORT, HX711_DT_PIN)); for (i = 0; i < 24; i++) { GPIO_SetBits(HX711_SCK_PORT, HX711_SCK_PIN); count = count << 1; GPIO_ResetBits(HX711_SCK_PORT, HX711_SCK_PIN); if (GPIO_ReadInputDataBit(HX711_DT_PORT, HX711_DT_PIN)) { count++; } } GPIO_SetBits(HX711_SCK_PORT, HX711_SCK_PIN); count = count ^ 0x800000; GPIO_ResetBits(HX711_SCK_PORT, HX711_SCK_PIN); return count; } int main(void) { int weight; HX711_Init(); while (1) { weight = HX711_Read(); // 对读取到的数据进行处理,得到实际重量值 } } 上述程序中,通过GPIO口控制HX711的DT和SCK引脚的电平变化,实现了数据的读取和传输。您可以根据实际需要进行修改和扩展。希望对您有所帮助!
### 回答1: hx711压力传感器是一种高精度的模拟数字转换器,可以将压力信号转换为数字信号。它可以与STM32F103单片机配合使用,实现对压力信号的采集和处理。在应用中,可以通过编程控制HX711和STM32F103之间的通信,实现对压力传感器的读取和数据处理。这样,就可以实现对压力信号的精确测量和控制。 ### 回答2: HX711压力传感器是一种高精度、低成本、易于使用的传感器,它可以用来测量物体的重量、压力等物理量。HX711内置了高精度的模数转换器和放大器,可以直接连接到STM32F103单片机,具有很高的精度和灵敏度。 HX711的连接方式很简单,它只需要4个接口:VCC、GND、DT和SCK。其中,VCC和GND分别连接到电源正负极,DT和SCK则连接到STM32F103的GPIO端口。在使用HX711传感器时,需要先对它进行校准,以确保精度和准确性。 HX711传感器的主要应用领域包括电子秤、压力传感器、力传感器等。它具有很高的精度和稳定性,可以满足大部分应用的需求。在使用STM32F103控制HX711传感器时,需要编写相应的程序进行数据采集和处理,以实现各种功能。比如可以将采集到的数据通过串口或者无线模块发送到上位机,或者利用嵌入式操作系统进行数据处理和控制。 总之,HX711压力传感器和STM32F103单片机的结合,可以为各种各样的物理量测量提供高精度和稳定性的解决方案,具有广泛的应用前景和市场价值。 ### 回答3: HX711压力传感器是一种专门用于测量电压信号并进行数据转换的芯片,它采用24位的模数转换器(ADC)结构,能够对高分辨率的压力信号进行精确的测量。STM32F103是一种基于ARM Cortex-M3内核的微控制器单元(MCU),它采用了高速时钟和优化的指令集,能够为HX711传感器提供稳定而可靠的信号处理能力,从而实现对压力传感器数据的精确读取和分析。 在使用HX711压力传感器与STM32F103芯片进行组合时,首先需要确定传感器的工作电压和最大输入电压范围,以确保对传感器的准确读取。此外,需要针对不同的压力传感器进行校准,以保证其输出信号的精度和稳定性,从而准确反映被测量物体的状态。 在连接HX711压力传感器与STM32F103芯片时,可以通过使用数字输入输出(GPIO)接口实现信号的传输和控制。在读取传感器数据时,可以通过使用STM32F103芯片的ADC模块进行数据转换,并使用定时器模块进行数据的优化和处理。此外,为了减小外部噪音的干扰和提高传感器的抗干扰性能,可以使用滤波器等信号处理技术,从而使传感器数据的精度和可靠性得到优化。 总之,HX711压力传感器和STM32F103芯片的组合可以实现对各种压力传感器信号的高精度读取和分析,从而为各种应用场景提供了更加可靠和高效的数据采集和处理方案。
首先,HX711传感器是一种高精度模拟-数字转换芯片,可以将压力传感器等模拟量转换为数字信号。它的使用需要借助于微处理器的ADC模块和GPIO接口。以下是基于STM32的HX711传感器驱动的实现步骤: 1. 配置STM32的GPIO接口,将HX711的DT和SCK引脚分别连接到STM32的两个GPIO引脚上。 2. 在代码中定义GPIO引脚的输入输出方向及电平状态,以控制HX711传感器的工作状态。 3. 配置STM32的ADC模块,将HX711传感器的输出信号通过STM32的ADC模块进行转换并读取数字信号。 4. 对读取的数据进行处理,通常需要进行去零、校准和单位转换等操作。 以下是一个简单的HX711传感器驱动程序示例: c #include "stm32f10x.h" #define HX711_DT GPIO_Pin_0 #define HX711_SCK GPIO_Pin_1 void HX711_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = HX711_DT; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = HX711_SCK; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } u32 HX711_Read(void) { u32 count; u8 i; GPIO_SetBits(GPIOB, HX711_SCK); GPIO_ResetBits(GPIOB, HX711_DT); count = 0; while(GPIO_ReadInputDataBit(GPIOB, HX711_DT)); for(i=0;i<24;i++) { GPIO_SetBits(GPIOB, HX711_SCK); count <<= 1; GPIO_ResetBits(GPIOB, HX711_SCK); if(GPIO_ReadInputDataBit(GPIOB, HX711_DT)) count++; } GPIO_SetBits(GPIOB, HX711_SCK); count ^= 0x800000; GPIO_ResetBits(GPIOB, HX711_SCK); return count; } 在上述代码中,HX711_Init()函数用于初始化GPIO引脚的输入输出方向及电平状态;HX711_Read()函数用于读取HX711传感器的输出信号并进行转换。需要注意的是,该示例程序仅供参考,具体实现还需根据实际情况进行修改。
首先,HX711传感器是一种高精度模拟-数字转换芯片,可以将压力传感器等模拟量转换为数字信号。它的使用需要借助于微处理器的ADC模块和GPIO接口。以下是基于STM32的HX711传感器驱动的实现步骤: 1. 配置STM32的GPIO接口,将HX711的DT和SCK引脚分别连接到STM32的两个GPIO引脚上。 2. 在代码中定义GPIO引脚的输入输出方向及电平状态,以控制HX711传感器的工作状态。 3. 配置STM32的ADC模块,将HX711传感器的输出信号通过STM32的ADC模块进行转换并读取数字信号。 4. 对读取的数据进行处理,通常需要进行去零、校准和单位转换等操作。 以下是一个简单的HX711传感器驱动程序示例: c #include "stm32f10x.h" #define HX711_DT GPIO_Pin_0 #define HX711_SCK GPIO_Pin_1 void HX711_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = HX711_DT; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_Init(GPIOB, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = HX711_SCK; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); } u32 HX711_Read(void) { u32 count; u8 i; GPIO_SetBits(GPIOB, HX711_SCK); GPIO_ResetBits(GPIOB, HX711_DT); count = 0; while(GPIO_ReadInputDataBit(GPIOB, HX711_DT)); for(i=0;i<24;i++) { GPIO_SetBits(GPIOB, HX711_SCK); count <<= 1; GPIO_ResetBits(GPIOB, HX711_SCK); if(GPIO_ReadInputDataBit(GPIOB, HX711_DT)) count++; } GPIO_SetBits(GPIOB, HX711_SCK); count ^= 0x800000; GPIO_ResetBits(GPIOB, HX711_SCK); return count; } 在上述代码中,HX711_Init()函数用于初始化GPIO引脚的输入输出方向及电平状态;HX711_Read()函数用于读取HX711传感器的输出信号并进行转换。需要注意的是,该示例程序仅供参考,具体实现还需根据实际情况进行修改。
以下是基于STM32的HX711模块的代码示例: c #include "stm32f10x.h" #define HX711_SCK_PIN GPIO_Pin_0 #define HX711_DOUT_PIN GPIO_Pin_1 #define HX711_GPIO_PORT GPIOA void delay_us(uint32_t us) { // 基于系统时钟为72MHz的延时函数 uint32_t delay = us * 36; while (delay--) { __NOP(); } } void HX711_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = HX711_SCK_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(HX711_GPIO_PORT, &GPIO_InitStructure); GPIO_InitStructure.GPIO_Pin = HX711_DOUT_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(HX711_GPIO_PORT, &GPIO_InitStructure); GPIO_ResetBits(HX711_GPIO_PORT, HX711_SCK_PIN); } int HX711_Read(void) { int i; int inputValue = 0; GPIO_ResetBits(HX711_GPIO_PORT, HX711_SCK_PIN); delay_us(1); while (GPIO_ReadInputDataBit(HX711_GPIO_PORT, HX711_DOUT_PIN)) ; for (i = 0; i < 24; i++) { GPIO_SetBits(HX711_GPIO_PORT, HX711_SCK_PIN); delay_us(1); inputValue = inputValue << 1; if (GPIO_ReadInputDataBit(HX711_GPIO_PORT, HX711_DOUT_PIN)) { inputValue++; } GPIO_ResetBits(HX711_GPIO_PORT, HX711_SCK_PIN); delay_us(1); } inputValue = inputValue ^ 0x800000; return inputValue; } int main(void) { int weight; HX711_GPIO_Init(); while (1) { weight = HX711_Read(); // 处理读取到的重量数据,比如显示在LCD屏幕上 // ... delay_us(100); } } 在代码中,我们首先定义了HX711模块的SCK和DOUT引脚的GPIO端口和引脚号。然后定义了一个延时函数delay_us(),用于实现微秒级别的延时。接着定义了初始化HX711模块的函数HX711_GPIO_Init(),其中使用了STM32的GPIO初始化函数。 在读取HX711模块的重量数据时,我们通过控制SCK引脚的高低电平来实现数据的读取。具体地,我们首先将SCK引脚置为低电平,然后等待DOUT引脚输出低电平,表示数据已准备好。接着循环读取24位数据,每次将SCK引脚置为高电平,然后读取DOUT引脚的数据,将其存入inputValue变量中。最后对读取到的数据进行一些处理,并返回给主程序。 在主程序中,我们不断循环读取HX711模块的数据,并进行一些处理,比如显示在LCD屏幕上。为了防止过于频繁地读取数据,我们使用了delay_us()函数进行了100微秒的延时。

最新推荐

市建设规划局gis基础地理信息系统可行性研究报告.doc

市建设规划局gis基础地理信息系统可行性研究报告.doc

"REGISTOR:SSD内部非结构化数据处理平台"

REGISTOR:SSD存储裴舒怡,杨静,杨青,罗德岛大学,深圳市大普微电子有限公司。公司本文介绍了一个用于在存储器内部进行规则表达的平台REGISTOR。Registor的主要思想是在存储大型数据集的存储中加速正则表达式(regex)搜索,消除I/O瓶颈问题。在闪存SSD内部设计并增强了一个用于regex搜索的特殊硬件引擎,该引擎在从NAND闪存到主机的数据传输期间动态处理数据为了使regex搜索的速度与现代SSD的内部总线速度相匹配,在Registor硬件中设计了一种深度流水线结构,该结构由文件语义提取器、匹配候选查找器、regex匹配单元(REMU)和结果组织器组成。此外,流水线的每个阶段使得可能使用最大等位性。为了使Registor易于被高级应用程序使用,我们在Linux中开发了一组API和库,允许Registor通过有效地将单独的数据块重组为文件来处理SSD中的文件Registor的工作原

要将Preference控件设置为不可用并变灰java完整代码

以下是将Preference控件设置为不可用并变灰的Java完整代码示例: ```java Preference preference = findPreference("preference_key"); // 获取Preference对象 preference.setEnabled(false); // 设置为不可用 preference.setSelectable(false); // 设置为不可选 preference.setSummary("已禁用"); // 设置摘要信息,提示用户该选项已被禁用 preference.setIcon(R.drawable.disabled_ico

基于改进蚁群算法的离散制造车间物料配送路径优化.pptx

基于改进蚁群算法的离散制造车间物料配送路径优化.pptx

海量3D模型的自适应传输

为了获得的目的图卢兹大学博士学位发布人:图卢兹国立理工学院(图卢兹INP)学科或专业:计算机与电信提交人和支持人:M. 托马斯·福吉奥尼2019年11月29日星期五标题:海量3D模型的自适应传输博士学校:图卢兹数学、计算机科学、电信(MITT)研究单位:图卢兹计算机科学研究所(IRIT)论文主任:M. 文森特·查维拉特M.阿克塞尔·卡里尔报告员:M. GWendal Simon,大西洋IMTSIDONIE CHRISTOPHE女士,国家地理研究所评审团成员:M. MAARTEN WIJNANTS,哈塞尔大学,校长M. AXEL CARLIER,图卢兹INP,成员M. GILLES GESQUIERE,里昂第二大学,成员Géraldine Morin女士,图卢兹INP,成员M. VINCENT CHARVILLAT,图卢兹INP,成员M. Wei Tsang Ooi,新加坡国立大学,研究员基于HTTP的动态自适应3D流媒体2019年11月29日星期五,图卢兹INP授予图卢兹大学博士学位,由ThomasForgione发表并答辩Gilles Gesquière�

PostgreSQL 中图层相交的端点数

在 PostgreSQL 中,可以使用 PostGIS 扩展来进行空间数据处理。如果要计算两个图层相交的端点数,可以使用 ST_Intersection 函数来计算交集,然后使用 ST_NumPoints 函数来计算交集中的点数。 以下是一个示例查询,演示如何计算两个图层相交的端点数: ``` SELECT ST_NumPoints(ST_Intersection(layer1.geometry, layer2.geometry)) AS intersection_points FROM layer1, layer2 WHERE ST_Intersects(layer1.geometry,

漕河渡槽Ⅳ标段_工程施工土建监理资料建筑监理工作规划方案报告.doc

漕河渡槽Ⅳ标段_工程施工土建监理资料建筑监理工作规划方案报告.doc

HAL多学科开放获取档案库的作用及代理重加密和认证委托的研究

0HAL编号:tel-038172580https://theses.hal.science/tel-038172580提交日期:2022年10月17日0HAL是一个多学科开放获取档案库,用于存储和传播科学研究文档,无论其是否发表。这些文档可以来自法国或国外的教育和研究机构,也可以来自公共或私人研究中心。0HAL多学科开放获取档案库旨在存储和传播法国或国外的教育和研究机构、公共或私人实验室发表或未发表的研究文档。0代理重加密和认证委托的贡献0Anass Sbai0引用此版本:0Anass Sbai. 代理重加密和认证委托的贡献. 离散数学[cs.DM]. 皮卡第朱尔大学, 2021. 法语. �NNT:2021AMIE0032�. �tel-03817258�0博士学位论文0专业“计算机科学”0提交给科技与健康学院博士学位学校0皮卡第朱尔大学0由0Anass SBAI0获得皮卡第朱尔大学博士学位0代理重加密和认证委托的贡献0于2021年7月5日,在评审人的意见后,面向考试委员会进行

编写一个函数,将double数组转换成一个三列显示的二维数组(用grouped方法实现传入列数作为参数)

以下是一个基于Python实现的函数,可将长度为n的double数组转换为k列的二维数组,其中k为传入的列数。如果n不是k的倍数,则最后一行的元素数可能少于k列。 ```python import math def convert_to_2d(arr, k): n = len(arr) rows = math.ceil(n / k) result = [[0] * k for _ in range(rows)] for i in range(n): row = i // k col = i % k result

紫黑暗夜星空商务创业计划书29.pptx

紫黑暗夜星空商务创业计划书29.pptx